hibernate整合遗留数据库之处理主键(映射自然键之复合自然键)
hibernate支持自然键的使用。它支持复合的和非复合的这两种自然主键。
以复合的自然主键为例:
假设USER表的主键由NAME和PASSWORD组成。
pom.xml:
resources/hibernate.cfg.xml:
pojo/User.java:
pojo/User.hbm.xml:
util/HibernateUtil.java:
util/Manager.java:
表结构:
如例:
session.load(User.class,user)代码片段中,user表现得就像它自己的标识符类。不过,如上例中,定义一个只声明键属性的单独复合标识符类则更为优雅,不过必须实现equals()和hashCode()方法, 同时还需要实现Serializable接口。