Grails HQL与SQL语句

Joh*_*2_2 3 sql grails hql

关于简单性,复杂性和性能,我希望使用HQL或SQL语句查询数据库.

Tim*_*per 8

使用HQL,您可以在基于类的域级别上运行,并在关系模型级别上使用SQL.使用HQL,您可以在查询和SQL中遍历您的域模型,以创建具有连接和连接条件的链接,这些条件更详细.

使用HQL的投影更简单,因为您可以直接获取对象,而使用SQL可以获得关系数据的表格视图.

优化HQL更加困难,因为您需要在多个级别(域级,Hibernate,生成的SQL,关系模型)上进行操作,但大多数情况下您可以使用更少的代码进行管理.

SQL结果不是类型安全的,但这在Grails上下文中并不像在Java上下文中那么重要.

  • +1.我想补充说,使用Hibernate为您提供了第一级缓存(强制)和第二级缓存(可选),它们可以真正提高性能. (3认同)