Grails 1.3.7Grails:namedQuery错误:重复关联路径
当我尝试调用我的命名查询时,出现这个奇怪的错误。它被定义如下:
containsQuery { query ->
or{
ilike("name", '%' + query + '%')
ilike("description", '%' + query + '%')
tokens{
ilike("token", '%' + query + '%')
}
}
我得到的错误是:
Error 500: Executing action [list] of controller [net.turkino.tokenadmin.reg.ItemController] caused exception: duplicate association path: tokens
Servlet: grails
URI: /grails/item/list.dispatch
Exception Message: duplicate association path: tokens
Caused by: duplicate association path: tokens
Class: ItemController
At Line: [75]
和第75行是:
items = itemQueryResult.listDistinct(params)
其中itemQueryResult是
itemQueryResult = Item.belongsToOwner(SecurityUtils.subject.principal).containsQuery(params.q)
是什么问题?我不允许在我的namedQuery中使用令牌吗?
UPDATE:关于域名类信息涉及:
class Item{
... // a lot of fields
static hasMany = [ tokens:TokenTag]
static belongsTo = [owner: User]
static mappedBy = [ tokens: 'item' ]
static mapping = { tokens lazy:false }
... // constraints to fields, named queries etc.
static namedQueries = {
belongsToOwner { email ->
owner{
eq("email", email)
}
}
....
}
}
class TokenTag{
... // fields
String token
String tokenAsQRString
Item item
... // other fields
static belongsTo = [tagSheet:TokenTagSheet]
...
}
这可能有助于获取有关查询中涉及的域类的更多信息。 – 2012-02-19 20:30:37
肯定 - 什么样的信息?我添加了一些涉及类的信息 – mkk 2012-02-19 20:39:31
TokenTag是否有属性“令牌”或“令牌”? – aldrin 2012-02-20 09:25:07