grails多对一关联查询的路径问题
注:这个问题迷惑了我的原因是因为受到文档的迷惑了,这里面有几种情况正在试验,一会回来继续完善。
?
比较悲催的调了一晚上,因为以前没在grails里面这么写过,所以不知道这算是个bug还是hibernate的查询dsl就是这么设计的。
两个类:
class Asset {
??? static hasMany = [stocks : AssetStock]
??? String name
}
class AssetStock {
??? static belongsTo = Asset
??? Asset asset
??? Date purchageDate
}
现在查询
def results, total
def c = AssetStock.createCriteria()
? results = c.list(max: 100, offset: 0) {
? eq "asset.name", "打印机"
}
?
提示说找不到asset.name这个属性,调了一晚上也没搞定。
?
早上尝试做了点修改让这个代码好用了,两点,第一点可能非必须:
第一:
class AssetStock {
??? static belongsTo = [asset:Asset]
??? Date purchageDate
}
?
第二点是关键:
def results, total
def c = AssetStock.createCriteria()
results = c.list(max: 100, offset: 0) {
??? createAlias("asset", "asset")
??? eq "asset.name", "打印机"
}
?
必须createAlias给Path做路径关联。
?