HibernateCriteriaBuilderGrails
我有一个域名HibernateCriteriaBuilderGrails,hibernate,grails,Hibernate,Grails,我有一个域名 Author{ String name String AuthorId hasMany = [books:Book] } 及 我能得到的唯一输入是AuthorId。使用此值,如何使用HibernetCriteriaBuildereq(propertyName,propertyValue) 谢谢你 在回答问题之前,先检查几个要点:- 1. idid默认情况下绑定到域类,您可能不需要AuthorId 2.圣杯是按惯例的。您希望使用authorId而不是authorI
Author{
String name
String AuthorId
hasMany = [books:Book]
}
及
我能得到的唯一输入是AuthorId。使用此值,如何使用HibernetCriteriaBuildereq(propertyName,propertyValue)
谢谢你 在回答问题之前,先检查几个要点:-
1.
id
id默认情况下绑定到域类,您可能不需要AuthorId
2.圣杯是按惯例的。您希望使用
authorId
而不是authorId
,以避免出现错误状态
如果您已经完成了,那么现在您将对grails中的标准有了基本的了解。除此之外,标准
也可用于关联
在您的用例中,您可以执行以下操作:-
如果您想从作者那里获得所有书籍
def books = Author.createCriteria().get{
eq('AuthorId', authorId)
}.books
但这是一个漫长的过程,确实很容易做到
def books=Author.findByAuthorId(authorId)?.books
为什么我们需要一个标准
Grails方法简单得多:
def books=Author.get(id)?.books
在标准中,这变成:
def books = Author.createCriteria().get{
idEq("abc123") //'abc123' is your authorId
}.books
def books = Author.createCriteria().get{
idEq("abc123") //'abc123' is your authorId
}.books