У меня есть простое приложение Grails. У меня есть домены, как показано нижеGrails domain Именованный запрос для списка строк
class Author implements Serializable {
....
static hasMany = [
book : Book
]
}
class Book implements Serializable{
Author author
Genres genres
static belongsTo = [author: Author , genre: Genres ]
static mapping = {
.....
author lazy: false
}
}
class Genres implements Serializable{
String title
}
Теперь у меня есть требование, где у меня есть список названию жанров, мне нужно, чтобы получить все авторы, которые имеет по крайней мере одну книгу в одном из этих жанров. Мне нужно написать именованный запрос в классе Author. Я попробовал следующий запрос
hasGenre {cl ->
'book.genre.title' in cl
}
И я передаю список строку следующим образом
Author.hasGenre(genereTitleStringArray)
Но это не кажется, работает. У меня есть другие простые именованные запросы, которые отлично работают. Поэтому, когда я извлекаю, включая «hasGenere», это не влияет на поиск. Что я делаю не так? Я совсем новичок в этой области
Заранее спасибо
Книга связана с генералами от Lazy Single-Ended Association. Это связано с тем, что я не хочу, чтобы книги извлекались при извлечении объекта Genere. Я использую Grails 2.2.4. Если я использую запрос 'Author.hasGenre (genereTitleStringArray) .list()', то все записи будут восстановлены. метод hasGenre, похоже, не влияет на извлечение – Visahan
Я только что понял, что я определил метки как 'Set book' в Author, изменил его на' Set book' и он работает. Спасибо за помощь –
Visahan
Рад слышать, удачи, брата) –