论坛首页 Java企业应用论坛

现在我们在hibernate中还需要使用多表查询吗?

浏览 18803 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-15  
总结起来,使用hibernate完成复杂查询有性能问题似乎大家都没有异议,而解决办法有二:使用视图和JDBC。使用视图,既可以使用SQL建立视图,解决hibernate不能解决的问题,又可以对视图建值对象,使得JDBC和hibernate这对熊掌和鱼可以兼得,着实不错。如果通过spring的代理使用JDBC,其实编程也是挺简单的,少了很多需要考虑的问题(如获得连接、传值、关闭连接、内存泄漏等问题)。更重要是通过JDBC可以将SQL保存在数据库或配置文件中,增加系统灵活性和可维护性。而有些操作,如blob、clob采用JDBC似乎也更加可靠一些。
0 请登录后投票
   发表时间:2007-10-16  
也就是说把复杂的东西交给数据库处理??
0 请登录后投票
   发表时间:2007-10-17  
哪个适用选哪个
0 请登录后投票
   发表时间:2007-10-17  
你的选择也决定你的代码量,一般来说大家更喜欢偷懒吧。呵呵
0 请登录后投票
   发表时间:2007-10-18  
kyo100900 写道
你的选择也决定你的代码量,一般来说大家更喜欢偷懒吧。呵呵

我是比较喜欢偷懒的那种懒汉,哈哈。不过我始终相信代码少出错也就少。
0 请登录后投票
   发表时间:2008-04-17  
总的来说。看了这多收获不少。
我对于复杂查询一般都采用jdbc,有时候其实蛮享受那种拼结sql语句的感觉`呵呵。
0 请登录后投票
   发表时间:2008-04-17  
是的,使用spring结合hibernate来操作是不会出现问题,
但是LZ有没有碰到过这种问题,以前我做的一些东西没有使用spring来管理hibernate进行数据库操作,而是使用hibernate直接查询数据库,多表查询的时候如果只是加载单个表,比如部门和员工是一对多的,如果我把部门的信息放在List里面,查询结束后需要session.close()吧,如果我再用list去读取员工的数据,将会出现session is closed错误,数据不能进行lazing!

0 请登录后投票
   发表时间:2008-04-18  
spring的openSessionInViewFilter是个好东东.
复杂的东西还是由jdbc吧,hibernate管不了那个.
0 请登录后投票
   发表时间:2008-04-21  
搞个报表就够你受了,当然有需要多表的时候。
0 请登录后投票
   发表时间:2008-04-21  
我觉得复杂查询时候还是需要用jdbc,把sql写在配置文件中
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics