码迷,mamicode.com
首页 > 其他好文 > 详细

ssh点滴

时间:2014-12-17 14:24:42      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   使用   on   数据   log   ef   tt   

*

1,hibernate查询语句

涉及到多表关联时,如果不需要修改同步到数据库中,避免查询出持久对象,可提高效率

现在有两条HQL查询语句,分别如下:
from Customer c inner join c.orders o group by c.age;(1)

select c.ID,c.name,c.age,o.ID,o.order_number,o.customer_ID
from Customer c inner join c.orders c group by c.age;(2)
这两条语句使用了HQL语句的内连接查询(我们将在HQL语句的连接查询部分专门讨论),现在我们可以看出这两条查询语句最后所返回的结果是一样的,但是它们其实是有明显区别的,语句(1)检索的结果会返回Customer与Order持久化对象,而且它们会被置于Hibernate的Session缓存之中,并且Session会负责它们在缓存中的唯一性以及与后台数据库数据的同步,只有事务提交后它们才会从缓存中被清除;而语句(2)返回的是关系数据而并非是持久化对象,因此它们不会占用Hibernate的Session缓存,只要在检索之后应用程序不在访问它们,它们所占用的内存就有可能被JVM的垃圾回收器回收,而且Hibernate不会同步对它们的修改。

参考地址:http://itshu.iteye.com/blog/231050

*

ssh点滴

标签:blog   http   io   使用   on   数据   log   ef   tt   

原文地址:http://www.cnblogs.com/qingmaple/p/4169199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!