我试图在Hibernate中映射一些对象。其中一个对象是父亲,其他人是孩子。换句话说,他们实现了继承。 父亲如下:
public class Person {
private String id;
private String name;
private String surname;
getters and setters ;
}
和孩子......
public class Employee {
private BigDecimal salary;
private String seccion;
private Employee employee;
private Customer customer;
getters and setters
}
public class Customer {
private BigDecima CreditLimit;
getter and setter
}
然后......我想在以下数据库模式中映射这些类...
表 人 ID / NAME / SURNAME / ID_EMPLOYEE / ID_CUSTOMER
员工 ID_PERSON / SALARY / SECCION
客户 ID_PERSON / CREDIT_LIMIT
我的想法是每个人都可以是客户/员工。换句话说,Customer和Employee是Person的属性,但这些属性将存储在数据库中的独立表中。
为了获得角色的信用额度,我可以做persona.getCustomer()。getCreditLimit();
如果此人是客户或不是客户,则始终控制。
我希望你能帮助我,对不起我的英语很差。我来自阿根廷。
提前致谢。
尼古拉斯
答案 0 :(得分:0)
您可以使用Person
上的两个One-To-One
关联进行映射。
作为旁注,如果您已控制该架构,我建议使用Inheritance Mapping和Table-per-subclass,使用type
列作为人员表上的鉴别器。 Here是继承映射的教程。
答案 1 :(得分:0)
您所寻找的内容称为Polymorphic Mapping
,example here就是您所需要的。