联合主键:
1.xml方式:使用composite-id。如:
<composite-id name="pk" class="StudentPk">
<key-property name="id"></key-property>
<key-property name="name"></key-property>
</composite-id>
2.annotation方式:
1.主键类注解为:@Embeddable,将主键属性注解为:@Id
2.将主键的属性注解为:@EmbeddedId
3. @IdClass(value=TeacherPk.class)和@Id
主键类为什么要序列化?如果多个该类对象同时放入内存中,在一个集群系统中,
其中一台服务器当机了,需要将内存中对象写到其它服务器。
同时,如果该服务器内存以满,需要用虚拟内存,这就需要序列化后才能写到硬盘上
主键类为什么需要重写hashCode()和equal()方法呢?这是为了保证对象唯一性的。
将许多对象放在内存中,他们之间用什么区分呢?数据库中用那个主键来区分的,
因此在这儿应该重写hashCode()和equal()方法