Hibernate映射(继承)

时间:2011-09-21 14:59:38

标签: hibernate inheritance mapping

我试图在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();

如果此人是客户或不是客户,则始终控制。

我希望你能帮助我,对不起我的英语很差。我来自阿根廷。

提前致谢。

尼古拉斯

2 个答案:

答案 0 :(得分:0)

您可以使用Person上的两个One-To-One关联进行映射。

作为旁注,如果您已控制该架构,我建议使用Inheritance MappingTable-per-subclass,使用type列作为人员表上的鉴别器。 Here是继承映射的教程。

答案 1 :(得分:0)

您所寻找的内容称为Polymorphic Mappingexample here就是您所需要的。