hibernate配置:user表的主键id是bank表与wage表的外键,user.hbm.xml要怎么配置?

<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/Hib... <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.sms.po.User" table="user" catalog="sms">
<id name="id" type="java.lang.String">
<column id="id" length="50" />
<generator class="native"></generator>
</id>
<property name="pwd" type="java.lang.String">
<column name="pwd" length="50" />
</property>
<set name="banks" inverse="true" cascade="all" table="bank" lazy="true" >
<key>
<column name="id" length="50" />
</key>
<one-to-many class="com.sms.po.Bank" />
</set>
<set name="wages" inverse="true" cascade="all" table="wage" lazy="true">
<key>
<column name="id" length="50" />
</key>
<one-to-many class="com.sms.po.Wage" />
</set>
</class>
</hibernate-mapping>

如此配置访问出错

如果user表的主键id只是bank的外键,除去上述user.hbm.xml中的
<set name="wages" inverse="true" cascade="all" table="wage" lazy="true">
<key>
<column name="id" length="50" />
</key>
<one-to-many class="com.sms.po.Wage" />
</set>
就可以正常访问?
求原因、对策。。。。。。
展开
 我来答
zheng91900
2011-04-15
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
hibernate分不清慧辩 Id到底是哪启碧局个表的外键悄让了、
可以 private int wagesId;
private Wages wages;
private setWagersId(int wagesId)
{
this.wagesId=wagesId;
this.wages=Wages 类下的getWagesById(wagesId);
}
前提是如果 你查询user表 需要用到这两个表。
追问
user表的id既是wage表的外键也是bank的外键怎么办?
追答
选一个  另一个手动获得、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式