最近我正在处理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。
提前致谢!
答案 0 :(得分:0)
两个之间存在一个区别
HQL:将结果保留在缓存中,从第二次获得缓存结果。
SQL:要运行SQL,您可以使用createSQLQuery()方法。 SQL查询不会从缓存中获取结果,并且每次都会命中数据库。