У меня есть эти классы:
class Category {
Set usersLinked
def hasMany = [usersLinked:CategoryUserLink]
static namedQueries = {
getAuthorizedBusiness { auser ->
eq "business", true
usersLinked{
eq "user", auser
type{
eq "name", "Authorized"
}
}
}
}
}
class CategoryUserLink {
User user
CategoryType type
Category category
}
Когда я запрашиваю его с помощью namedQuery
или createCriteria
, я получаю сообщение об ошибке:
Category.getAuthorizedBusiness(user).list()
Нет таких пользователей собственностиСсылка
Почему?
Я получаю это сообщение об ошибке:
org.hibernate.QueryException: could not resolve property: userslinked of: lli.faqapp.domain.Category
at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1223)
at grails.orm.GormLabsHibernateCriteriaBuilder.super$3$invokeMethod(GormLabsHibernateCriteriaBuilder.groovy)
at grails.orm.GormLabsHibernateCriteriaBuilder.methodMissing(GormLabsHibernateCriteriaBuilder.groovy:65)
at lli.faqapp.domain.Category$__clinit__closure3_closure4.doCall(Category.groovy:84)
at grails.orm.HibernateCriteriaBuilder.invokeClosureNode(HibernateCriteriaBuilder.java:1367)
at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1117)
at GormLabsGrailsPlugin$_registerCriteria_closure23_closure38.doCall(GormLabsGrailsPlugin.groovy:255)
at lli.faqapp.domain.tests.CategoryTests.testSearchOnCategories(CategoryTests.groovy:39)
И после удаления плагина GormLabs
я запускаю интеграционный тест и получаю это сообщение:
org.hibernate.QueryException: could not resolve property: userslinked of: lli.faqapp.domain.Category
at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1223)
at lli.faqapp.domain.Category$__clinit__closure3_closure4.doCall(Category.groovy:84)
at grails.orm.HibernateCriteriaBuilder.invokeClosureNode(HibernateCriteriaBuilder.java:1367)
at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1117)
at lli.faqapp.domain.tests.CategoryTests.testSearchOnCategories(CategoryTests.groovy:39)