Hallo zusammen,
ich habe ein byte[] Array welches ich mit JPA/Hibernate in eine Derby DB speichern möchte.
Beim Schreiben in die DB gibts dann folgende Fehlermeldung: "Bei dem Versuch, VARCHAR () FOR BIT DATA '(Bin√§rer Datenwert wird nicht angezeigt.)' auf die Länge 255 zu kürzen, ist ein Abschneidefehler aufgetreten."
Hat jemand eine Idee woran das liegen könnte? Ich habe die Methode ja mit @Lob annotiert, so dass dieser Fehler doch eigentlich nicht mehr auftreten sollte!?
ich habe ein byte[] Array welches ich mit JPA/Hibernate in eine Derby DB speichern möchte.
Java:
@Transient
private Double[][] testMatrix = new Double[10][10]; // Direktes speichern geht mit JPA nicht :-(
private byte[] testMatrixSaver; // Hier soll testMatrix rein und über dieses Feld gespeichert werden
@Basic(fetch=FetchType.LAZY) @Lob
public byte[] getTestMatrixSaver() {
for (int i = 0; i < testMatrix.length; i++) { // Fill testMatrix with dummy values
Arrays.fill(testMatrix[i], new Double(9.3));
}
ByteArrayOutputStream baos = new ByteArrayOutputStream(); // Convert testMatrix into a byte array
try {
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(testMatrix);
} catch (IOException iOException) {
}
testMatrixSaver = baos.toByteArray();
return testMatrixSaver;
}
Hat jemand eine Idee woran das liegen könnte? Ich habe die Methode ja mit @Lob annotiert, so dass dieser Fehler doch eigentlich nicht mehr auftreten sollte!?