Я пытаюсь изучить Hibernate с помощью этого простого примера, но у меня такая проблема с внешним ключом, который остается «нулевым» в базе данных.Hibernate не устанавливает внешний ключ
@Entity
@Table(name = "tb1")
public class Track {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name="id_tb1", unique= true)
private int id_tb1;
@Column(name = "title")
private String title;
@ManyToOne
@JoinColumn(name="id_tb2")
private tb2 cd;
И это второй класс
@Entity
@Table(name = "tb2")
public class CD {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name="id_tb2", unique = true)
private int id_tb2;
@Column(name="title")
private String title;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL,mappedBy = "cd")
private List<tb1> tracks = new ArrayList<tb1>();
сохраняю как это:
SessionFactory factory = new Configuration().configure("/resources/hibernate.cfg.xml").buildSessionFactory();
Session session1 = factory.openSession();
session1.beginTransaction();
session1.save(tb2);
session1.getTransaction().commit();
но когда Isavethe id_tb2 (в таблице ТВ1) не установлен, и он остается пустым. Что мне не хватает?
Какой тип треков в классе CD. ТВ1? добавьте весь код. –
Я предполагаю, что его частный Список
@RohitGaikwad да! – untruste