各位前辈 请问 hibernate 注解映射 复合主键 并且该复合主键都是外键 怎么映射 比如 : Class A { @id private Integer id; .......其他属性}Class B{ @id private Integer id; //......其他属性}Class AB{ //如何映射成复合主键并且又是外键(注解方式) private A a; private B b; //.....其他属性} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Hibernate 不能这样实现除非给关系表加一个主键 都结贴了。我回复一个为后人造福吧。例子:@Entity@Table(name="T_CLIENT_INV")public class ClientInventoryDetail { private ClientInventoryDetailPK clientInventoryDetailPK; @EmbeddedId public ClientInventoryDetailPK getClientInventoryDetailPK() { return clientInventoryDetailPK; } public void setClientInventoryDetailPK(ClientInventoryDetailPK clientInventoryDetailPK) { this.clientInventoryDetailPK = clientInventoryDetailPK; }}public class ClientInventoryDetailPK implements Serializable { private static final long serialVersionUID = 6502053356833573635L; private FiscalYearPeriod fiscalYearPeriod; private Client client; private Items item; @ManyToOne @JoinColumn(name="FISCAL_PERIOD_ID") public FiscalYearPeriod getFiscalYearPeriod() { return fiscalYearPeriod; } public void setFiscalYearPeriod(FiscalYearPeriod fiscalYearPeriod) { this.fiscalYearPeriod = fiscalYearPeriod; } @ManyToOne @JoinColumn(name="CLIENT_ID") public Client getClient() { return client; } public void setClient(Client client) { this.client = client; } @ManyToOne @JoinColumn(name="ITEM_NO") public Items getItem() { return item; } public void setItem(Items item) { this.item = item; } @Override public boolean equals(Object o) { if(o instanceof ClientInventoryDetailPK) { ClientInventoryDetailPK pk = (ClientInventoryDetailPK)o; if(this.fiscalYearPeriod == pk.getFiscalYearPeriod() && this.client == pk.getClient() && this.item.equals(pk.getItem())) return true; } return false; } @Override public int hashCode() { return this.item.hashCode(); }} 在xfire中url传参数 关于数据库连接中的问题 在做ssh测试的时候,出现了页面404错误,急急! 关于发送邮件的问题!!(在线等!) request.getParameterMap()是如何使用的? 那位能帮忙解释一下<logic:notEmpty name="" property="">,谢谢 一百分相送,关于分页的奇怪问题?? 请各位大虾给小弟一个JDK的下载地址吧。 tomcat配置的问题 java.lang.NoClassDefFoundError.ArcControls是什么错误?谢谢 java.lang.AbstractMethodError spring mvc 的下载
除非给关系表加一个主键
例子:
@Entity
@Table(name="T_CLIENT_INV")
public class ClientInventoryDetail {
private ClientInventoryDetailPK clientInventoryDetailPK;
@EmbeddedId
public ClientInventoryDetailPK getClientInventoryDetailPK() {
return clientInventoryDetailPK;
}
public void setClientInventoryDetailPK(ClientInventoryDetailPK clientInventoryDetailPK) {
this.clientInventoryDetailPK = clientInventoryDetailPK;
}
}
public class ClientInventoryDetailPK implements Serializable {
private static final long serialVersionUID = 6502053356833573635L;
private FiscalYearPeriod fiscalYearPeriod;
private Client client;
private Items item;
@ManyToOne
@JoinColumn(name="FISCAL_PERIOD_ID")
public FiscalYearPeriod getFiscalYearPeriod() {
return fiscalYearPeriod;
}
public void setFiscalYearPeriod(FiscalYearPeriod fiscalYearPeriod) {
this.fiscalYearPeriod = fiscalYearPeriod;
}
@ManyToOne
@JoinColumn(name="CLIENT_ID")
public Client getClient() {
return client;
}
public void setClient(Client client) {
this.client = client;
}
@ManyToOne
@JoinColumn(name="ITEM_NO")
public Items getItem() {
return item;
}
public void setItem(Items item) {
this.item = item;
}
@Override
public boolean equals(Object o) {
if(o instanceof ClientInventoryDetailPK) {
ClientInventoryDetailPK pk = (ClientInventoryDetailPK)o;
if(this.fiscalYearPeriod == pk.getFiscalYearPeriod() && this.client == pk.getClient() && this.item.equals(pk.getItem()))
return true;
}
return false;
}
@Override
public int hashCode() {
return this.item.hashCode();
}
}