HIbernate有两种方法来处理复合主键,第一种是基于实体类属性的复合主键,另一种是基于主键类的复合主键。在这里使用基于主键类的复合主键。
通常将复合主键相关属性,单独抽取出来,建立一个独立的类,这个类就是主键类,要求:
* 必须实现序列化(Serializable)接口
* 必须重写equals和hashcode方法
复合主键的值是一个主键类,而不是一个普通的常见数值,因此,复合主键在映射文件中采用<composite-id>标签进行标识,其它属性采用<property>正常映射。
通常将复合主键相关属性,单独抽取出来,建立一个独立的类,这个类就是主键类,要求:
* 必须实现序列化(Serializable)接口
* 必须重写equals和hashcode方法
复合主键的值是一个主键类,而不是一个普通的常见数值,因此,复合主键在映射文件中采用<composite-id>标签进行标识,其它属性采用<property>正常映射。