Ich verwende Hibernate 3.6 auf zwei verschiedenen Boxen, die beide aus genau der gleichen Datenbanktabelle lesen. Die Hibernate Annotations für zwei Felder ist als solche:Hibernate lädt Postgresql bytea nicht konsistent
@Basic(fetch=FetchType.EAGER)
@Column(name="encryptedkey",length = 256)
protected byte[] encryptedKey;
@Basic(fetch=FetchType.EAGER)
@Column(name="encryptediv",length = 256)
protected byte[] encryptedIV;
Nun, wenn sie mit diesen Eigenschaften auf einer Maschine (Ubuntu Linux mit Sun JDK 1.6.0_22-b04) an das Unternehmen zu laden, kann ich die 256- laden Byte verschlüsselte Schlüssel und IVs.
Dies ist jedoch nicht auf einem anderen Computer (Windows 2003 Server SP2 Enterprise Edition mit Sun JVM 1.6.0_22-b04), ich habe entweder 0 oder 511 Byte für jedes Feld geladen. Ansonsten sind die Jar-Dateien auf beiden Systemen identisch.
Die Datenbank-Engine ist PostgreSQL 9.0 und ich verwende den neuesten PostgreSQL JDBC-Treiber.
Wer hat eine Idee, was könnte schief gehen?
der Postgre-Spaltentyp ist Array? – Bozho
Der Postgre-Typ ist 'bytea' – malaverdiere
Einige Fehlerbehebungsschritte wurden versucht: aktualisierte JVM, aktualisierte Hibernate 1.6-Bibliotheken, heruntergestuft auf Hibernate 3.3.2, geändert von infinispan zu ehcache. Ich habe auch mit den JDBC3 und JDBC4 Treibern mit den gleichen Ergebnissen versucht. Keines dieser Dinge hat etwas verändert. – malaverdiere