Удаление Entity после обновления до Hibernate 6.6.1.FINAL из 6.4.4.FINAL вызывает исключение TransientObjectExceptionJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Удаление Entity после обновления до Hibernate 6.6.1.FINAL из 6.4.4.FINAL вызывает исключение TransientObjectException

Сообщение Anonymous »

Мне трудно понять, почему код работал в предыдущей версии Hibernate, но теперь выдает ошибку.
У меня есть следующая комбинация:
Измерительный объект Measm, представляющий данные измерений, которые имеют ссылку на StatusProt, представляющий состояние, в котором находится текущее измерение

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

public class Measm extends BelongsToSample implements Serializable {
...
@OneToOne
@JoinColumn(name = "status", insertable = false, updatable = false)
private StatusProt statusProt;
...
StatusProt относится к типу BelongsToMeasm, который, в свою очередь, имеет ссылки на измерения Measm:

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

public abstract class BelongsToMeasm extends BaseModel {
...
@ManyToOne
@JoinColumn(insertable = false, updatable = false)
private Measm measm;
...
Короче: у нас есть состояния, которые относятся к измерениям, которые сами по себе имеют ссылку на текущее состояние > для удобства.
Когда я пытаюсь удалить объект Measm

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

    public void delete(Object object) {
em.remove(
em.contains(object)
? object : em.merge(object));
em.flush();
}
Hibernate 6.6.1 жалуется

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

java.lang.IllegalStateException: org.hibernate.TransientObjectException: persistent instance references an unsaved transient instance of 'de.intevation.lada.model.lada.Measm' (save the transient instance before flushing)
чего не было до обновления.
Я предполагаю, что это связано со способом выполнения моделирования (возможно, отсутствуют такие аннотации, как каскад и т. д.)
Но почему это вообще сработало?
Я не нашел никаких изменений, которые давали бы подсказку к изменению поведения в отношении отношений.
Во-вторых: видите ли вы способ улучшить код, чтобы он работал с Hibernate 6.6.1?
Любая помощь приветствуется.
P.S.: Если вам нужно больше кода, не стесняйтесь спрашивать.

Подробнее здесь: https://stackoverflow.com/questions/791 ... l-throws-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как создать собственный диалект SQL Hibernate, совместимый с Cloudera Impala (Hibernate 6.2.2.Final)
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как создать собственный диалект SQL Hibernate, совместимый с Cloudera Impala (Hibernate 6.2.2.Final)
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как создать собственный диалект SQL Hibernate, совместимый с Cloudera Impala (Hibernate 6.2.2.Final)
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • TransientObjectException при сохранении ссылок на объекты в Hibernate
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • TransientObjectException при сохранении ссылок на объекты в Hibernate
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

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