当前页面: 开发资料首页 → J2EE 专题 → hibernate 多对多关连
hibernate 多对多关连
摘要: hibernate 多对多关连
有两个表
例如:
table1 id(pk),aa, bb
table2 id,aa ,dd (id,aa,dd联合主键)
想实现select table1.*,table2.* from table1 left outer join table 2 on
table1.aa = table2.aa
配置文件该怎么配,谢谢
学习+up
多对多关系的话最好创建一个中间表T1_T2(id1,id2),然后实现T1,T2的多对多
Hibernate的多对多关系必须通过中间表来实现,不是一两句话能说清楚,请自己看Hibernate文档(有中文版,到满江红开源去下)
多对多关系的出现很有可能是设计上的问题,最好能解构成两个一对多关系
现在已经没办法改表结构了
还有,不建中间表也可以吧!
如过是一个主键可以,
我就是不知道多主见怎么用
用compositekey来解决,为多主键建一个类
hibernate应尽量避免使用联合主键
hibernate应尽量避免使用联合主键,不要使用多对多,实在不行用中间表,拆成两个一对多
呵呵,同意楼上的,要改变思想了,以前开发的时候用多个主键去关联,操作起来还没有什么问题,现在用hibernate最好是一个表一个主键,而且用hibernate自动生成,还是挺方便的。。
直接使用sql语法去执行吧
<![CDATA[
select {a.*} from account a where a.accountcodehigh=:name and a.level="m" and ( a.status=:statusa or a.status=:statusb ) order by :orderby desc
]]>
keerqin() ( ) 信誉:91 Blog 2006-9-7 21:35:31 得分: 0
hibernate应尽量避免使用联合主键,不要使用多对多,实在不行用中间表,拆成两个一对多
----------------------------------
多对多关系在某些情况下还是需要的,比如改造过去的系统等,只不过应该尽量避免
谢谢大家了,
没想好,还事用中间表吧
up