Grails 1.1.1 グービー 1.5.7
このような関係では:
著者 1 -- n 本 n -- 1 出版社
Grails で定義:
class Author {
String firstName
String lastName
static hasMany = [books: Book]
static constraints = {
books(nullable: true)
}
}
class Book {
String title
Author author
Publisher publisher
static constraints = {
author(nullable: true)
publisher(nullable: true)
}
}
class Publisher {
String name
static hasMany = [books: Book]
static constraints = {
books(nullable: true)
}
}
Publisher と Author の値を含む Book をロードしたいと考えています。クエリで Book を取得すると:
def book2 = Book.findAllByAuthor(author)
autor が関連付けられた応答を取得しますが、発行者は他のクエリで id と name クラスしか持っていません。
def book3 = Book.findAllByPublisher(publisher)
逆の結果を取得します。出版社のデータを含む本がありますが、著者にはIDとクラス名しかありません。
定義されたモデルのどこにエラーがありますか? o クエリを実行する方法にエラーがありますか?
編集:
次のようなクエリでのみ値を取得する方法が必要です。
def book2 = Book.findAllByAuthor(author, [fetch:[publisher:'eager']])
これで、出版社の価値を管理できます。
質問: 出版社に関連がある場合hasmany
、Domain
書籍を入手して属性を読み取ることができますか?
ありがとう。ありがとう。