调用特定域的 HQL 查询是否应该特定于该域?
should the HQL query that is called of a specific domain be specific to that domain?
grails 文档为 domain.executeQuery() 方法提供了以下示例。
Account.executeQuery("select distinct a.number from Account a")
在另一个地方,我看到了下面的命令。
Registration.executeQuery(
'select i.id from SaleInvoice i '
+ 'left join i.entries ie '
+ 'left join ie.discount d '
+ 'left join d.discountCode dc '
);
HQL 查询似乎不需要特定于我们正在调用其 executeQuery() 方法的域 class。如果是这样,那么它似乎是任意的,我们可以调用任意域 class 的 executeQuery 方法来执行任意 HQL 查询。如果我误解了 executeQuery() 的目的,请消除我的误解。谢谢!
你叫executeQuery
的class(还有executeUpdate
、withTransaction
、withNewTransaction
、withSession
、withNewSession
) 对方法 运行 没有影响。这些方法可能应该添加到 Gorm
class 中,但却被添加到所有域 classes.
grails 文档为 domain.executeQuery() 方法提供了以下示例。
Account.executeQuery("select distinct a.number from Account a")
在另一个地方,我看到了下面的命令。
Registration.executeQuery(
'select i.id from SaleInvoice i '
+ 'left join i.entries ie '
+ 'left join ie.discount d '
+ 'left join d.discountCode dc '
);
HQL 查询似乎不需要特定于我们正在调用其 executeQuery() 方法的域 class。如果是这样,那么它似乎是任意的,我们可以调用任意域 class 的 executeQuery 方法来执行任意 HQL 查询。如果我误解了 executeQuery() 的目的,请消除我的误解。谢谢!
你叫executeQuery
的class(还有executeUpdate
、withTransaction
、withNewTransaction
、withSession
、withNewSession
) 对方法 运行 没有影响。这些方法可能应该添加到 Gorm
class 中,但却被添加到所有域 classes.