Grails: запросы по ассоциации «многие ко многим»

StackOverflow https://stackoverflow.com/questions/2052265

  •  20-09-2019
  •  | 
  •  

Вопрос

У меня отношения многие-ко-многим.

class Post {
    String title
    static hasMany = [tags:Tag]
}

class Tag {
    static hasMany = [posts:Post]
}

Я хотел бы получить список сообщений для тега, который имеет другие критерии (например, порядок сортировки, частичное совпадение заголовков и т. д.).Я иметь использовать критерии Грааля для достижения этой цели?Или есть какой-то способ сделать что-то вроде этого:

Post.findAllByTitleLikeAndTagsContains("partial title", aTag)
Это было полезно?

Решение

Я не думаю, что динамические средства поиска позволят вам попасть в ассоциации «один-ко-многим» или «многие-ко-многим» — вам нужно выполнить критерии или пойти по маршруту запроса HQL.Вы можете запрашивать только связь один к одному, а не один ко многим.(см. раздел 5.4.1 Динамические средства поиска)

Другие советы

Вы можете использовать withCriteria, например:

Post.withCriteria{
    tags {
        eq 'id',aTag.id
    }
 }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top