中使用域方法,我有一个方法可以处理我的数据。Grails:在我的域模型的命名查询
例如
class Person { String lastname String firstname String bigname() { return lastname.toUpperCase() } static namedQueries = { withBigname { name -> eq(this.bigname(), name) } } }
我想在命名查询使用这种方法就像一个属性,但只
this.bigname()抛出一个
java.lang.IncompatibleClassChangeError-Exception。
有谁知道如何在标准和命名查询中使用域方法?
更新:我现在尝试这样做:
class Person { String lastname String firstname String bigname static transients = [ 'bigname' ] def getBigname() { return lastname.toUpperCase() } static namedQueries = { withBigname { name -> eq('bigname', name) } } }
但它只是导致 “无法解析属性:bigname” -exception ...
您试图查询瞬态场,去除串bigname或删除瞬态和getBigname方法允许查询。阅读文档,看起来你没有清楚的瞬时使用的想法。 – 2016-12-30 18:14:21