精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-15
总结起来,使用hibernate完成复杂查询有性能问题似乎大家都没有异议,而解决办法有二:使用视图和JDBC。使用视图,既可以使用SQL建立视图,解决hibernate不能解决的问题,又可以对视图建值对象,使得JDBC和hibernate这对熊掌和鱼可以兼得,着实不错。如果通过spring的代理使用JDBC,其实编程也是挺简单的,少了很多需要考虑的问题(如获得连接、传值、关闭连接、内存泄漏等问题)。更重要是通过JDBC可以将SQL保存在数据库或配置文件中,增加系统灵活性和可维护性。而有些操作,如blob、clob采用JDBC似乎也更加可靠一些。
|
|
返回顶楼 | |
发表时间:2007-10-16
也就是说把复杂的东西交给数据库处理??
|
|
返回顶楼 | |
发表时间:2007-10-17
哪个适用选哪个
|
|
返回顶楼 | |
发表时间:2007-10-17
你的选择也决定你的代码量,一般来说大家更喜欢偷懒吧。呵呵
|
|
返回顶楼 | |
发表时间:2007-10-18
kyo100900 写道 你的选择也决定你的代码量,一般来说大家更喜欢偷懒吧。呵呵
我是比较喜欢偷懒的那种懒汉,哈哈。不过我始终相信代码少出错也就少。 |
|
返回顶楼 | |
发表时间:2008-04-17
总的来说。看了这多收获不少。
我对于复杂查询一般都采用jdbc,有时候其实蛮享受那种拼结sql语句的感觉`呵呵。 |
|
返回顶楼 | |
发表时间:2008-04-17
是的,使用spring结合hibernate来操作是不会出现问题,
但是LZ有没有碰到过这种问题,以前我做的一些东西没有使用spring来管理hibernate进行数据库操作,而是使用hibernate直接查询数据库,多表查询的时候如果只是加载单个表,比如部门和员工是一对多的,如果我把部门的信息放在List里面,查询结束后需要session.close()吧,如果我再用list去读取员工的数据,将会出现session is closed错误,数据不能进行lazing! |
|
返回顶楼 | |
发表时间:2008-04-18
spring的openSessionInViewFilter是个好东东.
复杂的东西还是由jdbc吧,hibernate管不了那个. |
|
返回顶楼 | |
发表时间:2008-04-21
搞个报表就够你受了,当然有需要多表的时候。
|
|
返回顶楼 | |
发表时间:2008-04-21
我觉得复杂查询时候还是需要用jdbc,把sql写在配置文件中
|
|
返回顶楼 | |