近日学习了如何用hibernate建立联合主键的小知识,分享给大家,希望和大家共同探讨
1.
首先确定好在这个类中的哪些属性将作为联合主键,然后将这属性单独放到一个类中,
该类必须实现Serializable接口,同时需要重写equals和hashCode方法
2.
在映射文件中这样配置联合主键
<composite-id name="balancesID">
<key-many-to-one name="theClient" column="BID" class="bank.system.domain.ClientAccount"></key-many-to-one>
<key-many-to-one name="currency" column="CurID" class="bank.system.domain.Currency"></key-many-to-one>
</composite-id>
public class Balances {
private BalancesID balancesID;// 余额主键,包括BID,CurID
private double balance;//余额
......
}
balancesID作为BalancesID的一个对象引用
public class BalancesID implements Serializable {
private ClientAccount theClient; // 卡类
private Currency currency; // 币种类
......
@Override
public boolean equals(Object arg0) {
return super.equals(arg0);
}
@Override
public int hashCode() {
return super.hashCode();
}
}
1.
首先确定好在这个类中的哪些属性将作为联合主键,然后将这属性单独放到一个类中,
该类必须实现Serializable接口,同时需要重写equals和hashCode方法
2.
在映射文件中这样配置联合主键
<composite-id name="balancesID">
<key-many-to-one name="theClient" column="BID" class="bank.system.domain.ClientAccount"></key-many-to-one>
<key-many-to-one name="currency" column="CurID" class="bank.system.domain.Currency"></key-many-to-one>
</composite-id>
public class Balances {
private BalancesID balancesID;// 余额主键,包括BID,CurID
private double balance;//余额
......
}
balancesID作为BalancesID的一个对象引用
public class BalancesID implements Serializable {
private ClientAccount theClient; // 卡类
private Currency currency; // 币种类
......
@Override
public boolean equals(Object arg0) {
return super.equals(arg0);
}
@Override
public int hashCode() {
return super.hashCode();
}
}
本文介绍如何使用Hibernate配置联合主键,通过创建包含多个属性的独立类,并实现Serializable接口及equals和hashCode方法。示例展示了在映射文件中定义复合主键的具体配置。
192

被折叠的 条评论
为什么被折叠?



