hibernate联合主键表的多对多关系怎么为中间表建立外键啊 10
hibernate中联合主键表与另一个表存在多对多关系,那么怎么为他们的中间表建立外键关系呢啊?例如A表与B表存在多对多关系,A表是采用联合属性做为主键,,那么在配置文件...
hibernate中联合主键表与另一个表存在多对多关系,那么怎么为他们的中间表建立外键关系呢啊?例如A表与B表存在多对多关系,A表是采用联合属性做为主键,,那么在配置文件中怎么配置他们中间表的外键关系呢?
展开
展开全部
1.Hibernate是一种对象关系型映射的框架,把对象作为属性赋值给另外一个对象,实际上在底层完成的操作就是将其id赋值给另外那个对象表的外键。而在操作上,直接操作对象会更直观,所以你可以看到在Hibernate中使用的不是一般的sql,而是hql;
2.联合主键实际上可以做成一张表,而一张表当然对应一个实体类,如果你想通过联合主键来查找,原理跟1中的原理是一样的,你联合主键封装成的那个类实际上就是“成绩”的一个属性,你在编写hql时写成这个属性满足什么条件即可,例如:select * from Score s where s.sid="" and s.cid="" ;
3.一对多关系形成的不一定是Set对象,你同样可以做成List,但是因为你在将多的一方做成集合赋值给一的一方的时候,使用了Set,所以在写配置文件的时候就是用的Set标签。
2.联合主键实际上可以做成一张表,而一张表当然对应一个实体类,如果你想通过联合主键来查找,原理跟1中的原理是一样的,你联合主键封装成的那个类实际上就是“成绩”的一个属性,你在编写hql时写成这个属性满足什么条件即可,例如:select * from Score s where s.sid="" and s.cid="" ;
3.一对多关系形成的不一定是Set对象,你同样可以做成List,但是因为你在将多的一方做成集合赋值给一的一方的时候,使用了Set,所以在写配置文件的时候就是用的Set标签。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的话如何通过外键查找表中的对象集呢? 2.为什么复合主键要封装成一个类; 3.一对多关系形成的不一定是Set对象,你同样可以做成List,但是因为你在
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<set name="Bs"
table="中间表"
lazy="false"
>
<key column="A表外键名"/>
<many-to-many class="B" column="B表外键名"/>
</set>
table="中间表"
lazy="false"
>
<key column="A表外键名"/>
<many-to-many class="B" column="B表外键名"/>
</set>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询