Hibernate学习21 -- 关联映射11 -- 复合主键映射(composite-id)
2009-12-04 12:43
465 查看
通常将复合主键相关的属性,单独放到一个类中
* 此类必须实现序列化接口
* 覆写hashcode和equals方法
如果在表中有两个列合起来当主键怎么处理?强烈不建议使用这种方式。
l 编写一个类(实现序列化接口),封装主键,并写属性。例如:
l Po内编写各个属性,包括主键类型。例如:
l 在映射文件中申明复合主键。例如:
* 此类必须实现序列化接口
* 覆写hashcode和equals方法
如果在表中有两个列合起来当主键怎么处理?强烈不建议使用这种方式。
l 编写一个类(实现序列化接口),封装主键,并写属性。例如:
public class CustomerPK implements Serializable{//主键类 private String account; private String password; public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } |
public class Customer{ private CustomerPK cpk;//主键类 private String cname; private double cbalance; public Customer(){} public double getCbalance() { return cbalance; } public void setCbalance(double cbalance) { this.cbalance = cbalance; } public String getCname() { return cname; } public void setCname(String cname) { this.cname = cname; } public CustomerPK getCpk() { return cpk; } public void setCpk(CustomerPK cpk) { this.cpk = cpk; } } |
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="po.Customer" table="T_CUSTOMER"> <composite-id name="cpk" class="po.CustomerPK"> <!-- 复合主键 --> <key-property name="account" column="ACCOUNT"> </key-property> <key-property name="password" column="PASSWORD"> </key-property> </composite-id> <property name="cname" column="CNAME"/> <property name="cbalance" column="CBALANCE"/> </class> </hibernate-mapping> |
相关文章推荐
- hibernate学习11之composite(复合)主键映射
- hibernate中的关联映射图解 ---- 复合主键
- Hibernate学习11 -- 关联映射1 -- 多对一关联
- Hibernate主键一对一关联映射实例【xml和注解版本@OneToOne@JoinColumn(name="wifeId")--主键单向】(十二)
- 【HIbernate框架学习】:Hibernate复合主键映射
- 【SSH之旅】一步步学习Hibernate框架(二):一对一关联映射中的主键关联
- hibernate里联合主键composite-id映射
- Hibernate学习12 -- 关联映射2 -- 一对一关联1 -- 一对一主键关联
- Hibernate 复合主键(composite-id)查询
- 闲来无事,复习复习以前的东西---hibernate中的关联映射图解 ---- 复合主键
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
- Hibernate复合主键作为外键在关联映射中的配置方法
- Hibernate的关联映射---6.1.9: 基于复合主键的关联关系
- hibernate,复合主键,composite-id
- Hibernate的关联映射---6.1.10: 复合主键的成员属性为关联实体
- Hibernate关系映射(3)_一对一单向主键关联
- Hibernate高级实体关联映射之单值的实体关联(共享的主键关联)
- Hibernate学习随笔-----关系映射(4)单向N-N关联
- Hibernate基于主键和外键的单向一对一的关联映射
- Hibernate映射详解--一对一主键关联映射