Hibernate (GORM) を使用して Grails プロジェクトに取り組んでいます。次のドメイン モデルがあります。
ClientContact {
static hasMany = [owners: Person]
static belongsTo = [Person]
}
Person {
static hasMany = [clientContacts: ClientContact]
}
ClientContacts
特定の所有者 ( ) のすべてを取得しようとすると、Person
面白い問題が発生します。次のクエリ基準を使用しています。
def query = {
owners {
eq("id", Long.parseLong(params.ownerId))
}
}
def criteria = ClientContact.createCriteria()
def results = criteria.list(params, query)
問題は、結果のそれぞれを反復処理すると、所有者が 1 人ClientContacts
しかいないことです。実際には、ほとんどの場合、他の多くの所有者がいます。何を与える?hibernate/GORM が遅延フェッチを使用していることは知っていますが、アクセスしようとすると、他のすべての所有者がフェッチされると思いました。ClientContact
何かご意見は?list()関数はいくつかの優れたページング機能を提供するため、引き続き使用したいと考えています。