15、JPA中的联合主键
????? 两个或多个字段组成的主键,我们叫联合主键。在面向对象中,我们用JPA怎么定义这种情况呢?
?? ?? 怎么定义联合主键?用面向对象的思想来思考的话,联合主键里的复合主键(字段),可以把它看成一个整体,然后采用一个主键类来描述这个复合主键的字段。
关于联合主键类,大家一定要遵守以下几点JPA规范:
- 必须提供一个public的无参数构造函数。 必须实现序列化接口。 必须重写hashCode()和equals()这两个方法。这两个方法应该采用复合主键的字段作为判断这个对象是否相等的。 联合主键类的类名结尾一般要加上PK两个字母代表一个主键类,不是要求而是一种命名风格。
ArtLinePK.java
?
看主键,两个字段,看图:符合主键的定义就OK:
?
数据也添加进去了,看图:
?