【发布时间】:2011-07-07 13:24:50
【问题描述】:
我想就使用 HQL 或 SQL 语句查询数据库的简单性、复杂性和性能提出意见。
【问题讨论】:
我想就使用 HQL 或 SQL 语句查询数据库的简单性、复杂性和性能提出意见。
【问题讨论】:
使用 HQL,您可以在基于类的域级别上进行操作,而使用 SQL 则在关系模型级别上进行操作。使用 HQL,您可以在查询和 SQL 中遍历您的域模型,您需要使用更详细的连接和连接条件创建链接。
此外,使用 HQL 的投影更简单,因为您可以直接获取对象,而使用 SQL,您可以对关系数据进行表格视图。
优化 HQL 更加困难,因为您需要在多个级别(域级别、Hibernate、生成的 SQL、关系模型)上进行操作,但大多数情况下您可以用更少的代码进行管理。
SQL 结果不是类型安全的,但这在 Grails 上下文中并不像在 Java 上下文中那样重要。
【讨论】: