我是hibernate的新手,我想解决一些疑问。起初,我一直在寻找某种实体,我想了解如何映射我的实体,但我没有找到任何“comum”和简单易懂的东西,我需要帮助。
我有一个名为“客户”的班级,另一个名为“地址”,其他名为“公司”,客户有一个地址列表,公司只有一次,但我该如何映射?
我说,当使用@manytoone(映射)或其他类型的时候?
我的班级客户:
@Entity
public class Client {
@Id
@GeneratedValue
private long id;
private String name;
//Adress
private List<Adress> adress;
}
我的班级地址:
@Entity
public class Adress{
@Id
@GeneratedValue
private Long id;
private String pobox;
}
我的班级公司:
@Entity
public class Company{
@Id @GeneratedValue
private Long id;
private String name;
//Adress
private Adress adress;
}
答案 0 :(得分:2)
地址通常是一对一的。也就是说,公司不会与其他公司共享地址,不是吗?所以你可以尝试:
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="address_id")
private Adress address;