Как создать сложную сущность без спасения, в Hibernate 6.6?JAVA

Программисты JAVA общаются здесь
Anonymous
Как создать сложную сущность без спасения, в Hibernate 6.6?

Сообщение Anonymous »

Я хочу создать объект «Предварительный просмотр» и хочу вернуть объект в ряд REST. (String json) < /p>
В Hibernate 6.3 У меня не было проблем, но в 6.6 я получил сообщение об ошибке: < /p>

Код: Выделить всё

org.hibernate.TransientObjectException: persistent instance references an unsaved transient instance of 'XXX' (save the transient instance before flushing)
Я добавляю cascade = {cascadetype.persist} , что помогает в Hibernate 6.3, но не в 6.6.
Сообщение об ошибке поставляется в целом. Первый запуск работает, ошибка возникает только во втором запуске. < /P>
Что я могу сделать? Я создаю объект A, устанавливаю несколько свойств, а затем захожу в цикл для цикла и создаю объект B. Я прикрепляю объект B к свойству списка объекта A с objecta.getlist (). Add (ObjectB) . Цикл должен проходить через X раз. Ошибка происходит точно во втором запуске.

Код: Выделить всё

findByName()
), чтобы получить больше информации для объекта и установить свойства соответственно. Очевидно, что Hibernate не нравится, что я называю репозиторием / выберите, не сохраняя объект раньше. Должен ли я каким -то образом аннотировать метод репозитория, чтобы быть чтением или что -то в этом роде? Что затем вступает в производительность, но я не могу заставить его бежать по -другому. К сожалению, мои тесты сейчас терпят неудачу! Точно то же самое происходит. Я создаю объект в тесте без сохранения! И я хочу точно проверить это, с ObjectARepo.findall (). Size () = 0 . Опять же, я получаю то же сообщение об ошибке. Я также пробовал objectArepo.detach (objecta) и objectarepo.flush () . Хотя ошибка поставляется с objectarepo.flush () .

Подробнее здесь: https://stackoverflow.com/questions/795 ... ernate-6-6

Вернуться в «JAVA»