Grails 2.2.4 を使用して Web アプリケーションを構築していますが、Grails の withCriteria 操作で複雑な問題が発生しています。私は以下のように3つのクラスを持っています:
class Person {
int id
String name
Set<Car> cars = [] // One-to-many relationship
Company currentCompany // One-to-one relationship
}
class Car {
int id
String manufacturer
String brand
double price
Person owner
}
class Company {
int id
String name
Set<Person> employees = []
}
そして今、次のような関連データとともに、ルートクラスとして Person からデータをクエリしたいと思います。
List result = Person.withCriteria {
projections {
property('id')
property('name')
createAlias('cars', 'c', CriteriaSpecification.LEFT_JOIN)
property('c.brand')
createAlias('currentCompany', 'com', CriteriaSpecification.LEFT_JOIN)
property('com.name')
}
lt('id', 10L)
resultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
}
そして問題は、結果データを人のリストに深く変換して、すべての要素にそのデータがクラス構造として含まれていることを確認する方法がわからないことです。私は多くの方法を試しました
resultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
resultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP)
resultTransformer(CriteriaSpecification.aliasToBean(Person.class))
しかし、私が期待したように何も機能しませんでした。
Grails 2.2.4 はこれをサポートしていますか? はいの場合、正しい構文は何ですか?
どうもありがとう。