MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 有关一个hibernate关联查询的有关问题

有关一个hibernate关联查询的有关问题

www.MyException.Cn  网友分享于:2013-01-13  浏览:37次
有关一个hibernate关联查询的问题.
现在有一个项目,数据库里有这么几张表

book_info,article_info,consultation_info这三张表分别叫做书籍信息表,期刊文章信息表,资讯信息表,记录三种不同数据的基本信息.

另外有一张表叫sysstat,上面三种数据在被访问过一次后,就会在此表中保留信息,这个表有一个data_id字段来关联它所记录的数据,另有一个字段叫data_sum,是用来记录数据的访问量的...

现在是重点,我想通过hibernate的hql进行外连接查询上面三个表的数据,要关联上sysstat表中它所对应的访问量这个字段的数据来使用.

我现在的想法是在映射文件中做配置,但有了一个问题,就是sysstat中会出现一个字段的多个 <many-to-one> .我把写的配置文件贴出来.

hibernate-mapping>
        <class   name= "com.thinkroc.cpub.domain.SysStat "   table= "CPUB_T_SYS_STAT "   lazy= "false ">
                <id   name= "mainId "   type= "java.lang.String ">
                        <column   name= "MAIN_ID "   length= "50 "   />
                        <generator   class= "assigned "> </generator>
                </id>
..................省略中间的属性配置
<many-to-one   name= "articleInfo "   class= "com.resoft.bms.qkgl.domain.ArticleInfo "   column= "data_id "   insert= "false "   update= "false "   >
</many-to-one>
<many-to-one   name= "consultationInfo "   class= "com.resoft.bms.zxgl.domain.ConsultationInfo "   column= "data_id "   insert= "false "   update= "false ">
</many-to-one>  
<many-to-one   name= "bookInfo "   class= "com.resoft.bms.tsgl.domain.BookInfo "   column= "data_id "   insert= "false "   update= "false ">
</many-to-one>

注意看下面的 <many-to-one> 配置,sysstat的data_id,作为外键关联多个实体bookInfo,articleInfo,consultationInfo中的主键main_id,这样写可以吗?或者有没有别的什么办法来进行关联.

期待高手..................

有高手看不明白的请提问,我会进一步说明,项目紧张,急需合理的解答,谢谢.

------解决方案--------------------
貌似hibernate的解析是以最后一次为准,就是
<many-to-one name= "bookInfo " class= "com.resoft.bms.tsgl.domain.BookInfo " column= "data_id " insert= "false " update= "false ">
</many-to-one>
前面的都被覆盖了
而且hibernate的电子档也没有这种关联关系的范例。应该是不能关联吧
------解决方案--------------------
关注。。。帮顶~
------解决方案--------------------
hibernate不限制在一条select语句中多对一连接的数目
------解决方案--------------------
把数据库中的外键去了,没有外键难道表之间就没有关系吗???数据库中的外键往往还会带来很多麻烦,所以表之间的关系由POJO来关联......
你上面写的那些对应关系有点问题,sysstat是总表,它里面可以有多个不同或相同的book_info,article_info,consultation_info,所以sysstat与那三个表的对应关系是三个 <one-to-many> ,而不是 <many-to-one> ,而且你那sysstat的主键设得也有点问题~~~
自己再多动动脑想想看吧~~~

文章评论

我的丈夫是个程序员
我的丈夫是个程序员
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
那些争议最大的编程观点
那些争议最大的编程观点
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员的鄙视链
程序员的鄙视链
程序员都该阅读的书
程序员都该阅读的书
编程语言是女人
编程语言是女人
每天工作4小时的程序员
每天工作4小时的程序员
为什么程序员都是夜猫子
为什么程序员都是夜猫子
10个调试和排错的小建议
10个调试和排错的小建议
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
旅行,写作,编程
旅行,写作,编程
Java程序员必看电影
Java程序员必看电影
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员和编码员之间的区别
程序员和编码员之间的区别
如何成为一名黑客
如何成为一名黑客
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
鲜为人知的编程真相
鲜为人知的编程真相
老程序员的下场
老程序员的下场
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
一个程序员的时间管理
一个程序员的时间管理
 程序员的样子
程序员的样子
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员必看的十大电影
程序员必看的十大电影
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员应该关注的一些事儿
程序员应该关注的一些事儿
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
代码女神横空出世
代码女神横空出世
总结2014中国互联网十大段子
总结2014中国互联网十大段子
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
漫画:程序员的工作
漫画:程序员的工作
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
我是如何打败拖延症的
我是如何打败拖延症的
中美印日四国程序员比较
中美印日四国程序员比较
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有