我是Hibernate的新手,我不知道哪种方法最好:
@Entity
@Table(name = "alumno")
public class Alumno implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
@Column(name = "salon_id")
private Integer salonId;
}
其中salonId字段映射到数据库字段,该字段是引用沙龙表id或此的fk:
@Entity
@Table(name = "alumno")
public class Alumno implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
private Salon salon;
}
一个与另一个的优势是什么?
答案 0 :(得分:1)
你当然应该使用第二个。实体和ORM的重点是能够从数据库加载对象图并在对象图中导航:
Alumno alumno = em.find(Alumno.class, id);
Salon salon = alumno.getSalon();
在这种情况下,您需要在沙龙领域注明@ManyToOne
或@OneToOne
(取决于协会的实际基数)。