Мой код выглядит следующим образом:Play Framework Ebean два ManyToMany отношения возвращают те же данные
@Entity
public class Document extends Model
{
@Id
private Long id;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "developers")
private Set<Tester> developers = new HashSet<>();
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "testers")
private Set<Tester> testers = new HashSet<>();
}
Я использую JoinTable
аннотацию в противном случае я в конечном итоге с тем же присоединиться к столу для многих ко многим отношений. Это хорошо работает, и я получаю две таблицы (разработчики и тестеры).
Я даже могу правильно сохранить данные. Настройка разработчиков и/или тестеров, а затем сохранение документа документа работает правильно.
Теперь проблема заключается в том, что в тот момент я сделать что-то вроде:
Document.find.all()
получить доступные документы, разработчики и тестеры поля возвращают те же данные, несмотря на данные отличаться от других в базе данных. Выполнение document.getDevelopers()
и document.getTesters()
возвращает те же данные с getDevelopers()
всегда скрываетgetTesters()
данные.
Является ли это некоторой ошибкой/ограничением в EMS ORM?
Я использую Play 2.3.8
Это ошибка в EBean. Вы также можете посмотреть [этот пост] (http://stackoverflow.com/questions/24099008/ebean-multiple-manytomany-delivers-strange-behavior) – rtruszk
@rtruszk Я действительно искал что-то подобное, но не нашел его. Спасибо за информацию! – Anton