HQL是否选择查询=选择*?

时间:2014-08-01 10:46:21

标签: sql hibernate hql

最近我正在处理HQL并遇到一个问题:一个简单的HQL select query =一个sql select *语句,特别是在性能方面?

E.g。以下是相同的吗?

HQL:

Query query = session.createQuery("from Person where name= :name");
query.setParameter("name", "Peter");
List list = query.list();

SQL:

Select * from Person where name = "Peter"

如果您感兴趣,我使用MS SQL Server。

提前致谢!

1 个答案:

答案 0 :(得分:0)

两个之间存在一个区别

HQL:将结果保留在缓存中,从第二次获得缓存结果。

SQL:要运行SQL,您可以使用createSQLQuery()方法。 SQL查询不会从缓存中获取结果,并且每次都会命中数据库。