2015-09-28 1 views
0

У меня есть одно отношение между двумя объектами, т. Е. В отеле много номеров. Когда я использую выборку («комнаты») в ebean, первая сущность правильно заполняется своими детьми, а остальные появляются «повторенными». т. е. отель 1 -> номер 1, номер2, а затем я получу второй объект hotel2 -> номер3, отель2-> номер4, отель2 -> номер5.Ebean правильно анализирует первый компонент, а остальное не

Многое тем же способом, что и этот вопрос Ebean Finder joins @OneToMany fields in a strange way (4 results instead of 2) Я отлаживал ebean и видел, как метод checkForDifferentBean() в CQuery.java работает. Я понимаю, как сортировка родительского объекта помогла ему. Это мне пока не помогло. Я также использую postgresql.

Выполнение вызова ctx.getPersistenceContext() для первого компонента, начиная со второго, контекст пуст, делая checkForDifferentBean() возвращает true.

ответ

0

После тщательного изучения кода ebean я понял, что эта проблема возникла из-за ошибки в структуре. Я установил его и открыл запрос на извлечение https://github.com/ebean-orm/avaje-ebeanorm/pull/426/files

+0

Для справки - это было зарегистрировано как проблема https://github.com/ebean-orm/avaje-ebeanorm/issues/425 ... исправлено в 6.9.1 –

+0

эй, вместо того, чтобы добавлять его в качестве комментария, вы можете добавьте в качестве ответа и плохо воспримите его – m1416

+0

Обратите внимание, что я добавил его в качестве ответа, но модераторы удалили его - грустно. –

0

Эта проблема связана с ошибкой с помощью findIterate() и тем, как корневые компоненты добавляются в контекст персистентности в этом случае.

Это исправлено в версии 6.9.1 Ebean и было зарегистрировано как выпуск № 425.

Обратитесь к https://github.com/ebean-orm/avaje-ebeanorm/issues/425 за тестовым чехлом, запишите и уточните детали.

Cheers, Rob.

Смежные вопросы