Hibernate не загружается Postgresql Bytea последовательно - PullRequest
2 голосов
/ 02 декабря 2010

Я использую Hibernate 3.6 на двух разных компьютерах, оба читают из одной и той же таблицы базы данных.Аннотация Hibernate для двух полей выглядит следующим образом:

@Basic(fetch=FetchType.EAGER)
@Column(name="encryptedkey",length = 256)
protected byte[] encryptedKey;

@Basic(fetch=FetchType.EAGER)
@Column(name="encryptediv",length = 256)
protected byte[] encryptedIV;

Теперь при загрузке сущности с этими свойствами на одном компьютере (Ubuntu Linux с Sun JDK 1.6.0_22-b04) я могу загрузить256-байтовые зашифрованные ключи и IV.

Однако на другом компьютере это не так (Windows 2003 server SP2 Enterprise Edition с Sun JVM 1.6.0_22-b04), у меня загружено 0 или 511 байт длякаждое поле.В противном случае файлы Jar в обеих системах одинаковы.

Ядром базы данных является PostgreSQL 9.0, и я использую последнюю версию драйвера JDBC PostgreSQL.

Кто-нибудь знает, что может быть не так?

Ответы [ 2 ]

2 голосов
/ 06 декабря 2010

Оказывается, в папке lib JRE был драйвер PosgreSQL 8.4. Удаление его решило эту проблему.

0 голосов
/ 15 июля 2013

окончательное решение:

ALTER DATABASE myAmazingDbOnALinuxServer SET bytea_output = 'escape'; 

PD: эта переменная может создавать резервные копии, несовместимые с Postgre, установленным в Windows, и будет выдавать ошибку COPY для каждой строки таблицы, содержащей столбец bytea.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...