Hibernate 6 JdbcTypeCode не может преобразовать bytea в массив String[] ⇐ JAVA
Hibernate 6 JdbcTypeCode не может преобразовать bytea в массив String[]
Когда я перехожу с Spring boot 2.5 на 3.0, он обновил Hibernate до 6.0. У меня есть поле в объекте Java, которое хранится как байт в базе данных PostgreSQL. И я читаю обратно в String[].
Чтобы решить эту проблему, я использую аннотацию @JdbcTypeCode и пытаюсь прочитать значение, но оно не работает.
Проблема в том, что @JdbcTypeCode(SqlTypes.Array) не может преобразовать bytea в Строка[]
@Column(name = "dummy") @JdbcTypeCode(SqlTypes.ARRAY) частная строка [] манекен; С SqlTypes.Array я получаю исключение ниже
org.springframework.orm.jpa.JpaSystemException: невозможно извлечь значение JDBC для позиции 3
Согласно http://www.java2s.com/example/java-api/ ... ray-0.html SqlTypes.Array возвращает Object[], но если я перейду со String[] на Object[], во время компиляции я получу ошибку ниже.
Вызвано: java.lang.ClassCastException: класс org.hibernate.type.descriptor.java.spi.CollectionJavaType не может быть приведен к классу org.hibernate.type.descriptor.java.BasicPluralJavaType (org.hibernate.type.descriptor) .java.spi.CollectionJavaType и org.hibernate.type.descriptor.java.BasicPluralJavaType находятся в безымянном модуле загрузчика «приложение»)
Альтернативный подход опробован
Я попробовал получить данные в формате byte[], как показано ниже,
@Column(name = "dummy") частный байт[] пустышка; общественная строка [] getDummy () { SerializationUtils.deserialize(пустышка); //Это устарело } И попробовал преобразовать с помощью SerializationUtils, но метод десериализации устарел, а при использовании ObjectInputStream мы получаем SecurityHotspot.
Ищу информацию о том, как преобразовать сохраненные байты в базе данных postgres в String[]
Заранее спасибо.
Когда я перехожу с Spring boot 2.5 на 3.0, он обновил Hibernate до 6.0. У меня есть поле в объекте Java, которое хранится как байт в базе данных PostgreSQL. И я читаю обратно в String[].
Чтобы решить эту проблему, я использую аннотацию @JdbcTypeCode и пытаюсь прочитать значение, но оно не работает.
Проблема в том, что @JdbcTypeCode(SqlTypes.Array) не может преобразовать bytea в Строка[]
@Column(name = "dummy") @JdbcTypeCode(SqlTypes.ARRAY) частная строка [] манекен; С SqlTypes.Array я получаю исключение ниже
org.springframework.orm.jpa.JpaSystemException: невозможно извлечь значение JDBC для позиции 3
Согласно http://www.java2s.com/example/java-api/ ... ray-0.html SqlTypes.Array возвращает Object[], но если я перейду со String[] на Object[], во время компиляции я получу ошибку ниже.
Вызвано: java.lang.ClassCastException: класс org.hibernate.type.descriptor.java.spi.CollectionJavaType не может быть приведен к классу org.hibernate.type.descriptor.java.BasicPluralJavaType (org.hibernate.type.descriptor) .java.spi.CollectionJavaType и org.hibernate.type.descriptor.java.BasicPluralJavaType находятся в безымянном модуле загрузчика «приложение»)
Альтернативный подход опробован
Я попробовал получить данные в формате byte[], как показано ниже,
@Column(name = "dummy") частный байт[] пустышка; общественная строка [] getDummy () { SerializationUtils.deserialize(пустышка); //Это устарело } И попробовал преобразовать с помощью SerializationUtils, но метод десериализации устарел, а при использовании ObjectInputStream мы получаем SecurityHotspot.
Ищу информацию о том, как преобразовать сохраненные байты в базе данных postgres в String[]
Заранее спасибо.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
PostgreSQL выдает «столбец имеет тип jsonb, но выражение имеет тип bytea» с JPA и Hibernate
Anonymous » » в форуме JAVA - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-