Не знаю, смогу ли я получить здесь точную точку, но в учебном блоге "YABE" этот вид таблицы соединений используется и создается автоматически в Play:
http://www.playframework.org/documentation/1.2.4/guide6#tagging
Отношение «многие ко многим» описано в модели (между «Post» и «Tag» здесь для примера блога):
@ManyToMany(cascade=CascadeType.PERSIST)
public Set<Tag> tags;
public Post(User author, String title, String content) {
...
this.tags = new TreeSet<Tag>();
...
this.title = title;
this.content = content;
...
}
YAML для данных записей:
Post(jeffPost):
title: The MVC application
postedAt: 2009-06-06
author: jeff
tags:
- play
- architecture
- mvc
После запуска приложения я проверяю базу данных и автоматически создается таблица "post_tag", а все ссылки между двумя таблицами выполняются (post_ids и tags_ids заполнены).
Получение данных выглядит какпросто как:
"select distinct p from Post p join p.tags as t"
Может кто-нибудь это подтвердить?Потому что плохо знакомы с Java, JPA и Play ^^
Если это правильно, это выглядит проще, чем управление таблицей объединения "вручную".