Как изменить существующие данные от LOB на текст?JAVA

Программисты JAVA общаются здесь
Anonymous
Как изменить существующие данные от LOB на текст?

Сообщение Anonymous »

Я использую Spring Boot 2.7 с Buirdin Hibernate, и у меня есть в таком классе сущности, как ниже: < /p>

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

@Entity
@Table(name = "style")
public class Style implements Serializable {

...

@Column(name = "style_abstract")
@Lob
private String styleAbstract;

}
Этот стиль схема таблицы была заполнена Liquibase с помощью этого изменения : Теперь я понял, что @lob на самом деле не является хорошей идеей, но у меня уже есть данные в стиле в Postgres.

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

    @Column(name = "style_abstract", columnDefinition = "TEXT")
@Type(type = "org.hibernate.type.TextType")
private String styleAbstract;
< /code>
и с необработанным SQL в Postgres: < /p>
  ALTER TABLE style
ALTER COLUMN style_abstract TYPE TEXT
Но каким-то образом, когда я удаляю объект Style , то Hibernate все еще имеет ошибку:

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

 WARN [2025-03-13 11:41:57] SqlExceptionHelper@137: SQL Error: 0, SQLState: 42704
ERROR [2025-03-13 11:41:57] SqlExceptionHelper@142: ERROR: large object 0 does not exist
ERROR [2025-03-13 11:41:57] ExceptionUtil@115: Caught an exception:
could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement
at service.WMSRepositoryService$$EnhancerBySpringCGLIB$$d482f768.deleteStyleById(:-1)

hibernate не должен пытаться рассматривать Styleabstract столбец как LOB, когда стиль удален. Я просто хотел удалить этот styleabstract как обычный текст . Как заставить это работать так?


Подробнее здесь: https://stackoverflow.com/questions/795 ... ob-to-text

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