Hibernate 联合主键的xml配置

Hibernate 联合主键的xml配置

一共有三种方式:
1. 直接把composite-id当成entity的一部分(Embeded composite identifier)






这种就是我们的key也是本身entity,我们不论查询还是其他操作,都需要先来new 一个entity,之后再去查询。
官方不推荐
2. mapped composite identifier






这种方式使用了独立的class,但是这个class是一个有其他作用entity,这样两个类都有着两个字段,需要维护。所以特点是代码冗余,所以也不推荐。
3. components as composite identifiers







这种使用单独的一个class作为identifier,是官方推荐的方式。这个composite class必须实现java.io.Serializable接口,重写equals和hashCode方法。

Appendix:

id class="xx" name="xx">
    property name="xx" type="xx">
      name="xx" not-null="true" sql-type="xx"/>
    property>
    property name="xx" type="xx">
    ...
id>

你可能感兴趣的:(JAVA,Hibernate)