站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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



↑返回目录
前一篇: 请教各位大虾,一边是一家外包公司,但是去了是作一个比较大的java项目,一边是腾讯,去了作游戏测试,作java开发的工资还比腾讯的高700块左右
后一篇: 如何在jbosscmp-jdbc.xml中添加自定义的finder