Offene JPA - Spaltendefinition binär
Frage
Ich versuche, den Typ einer Spalte in OpenJPA als binäre einzustellen (5), damit ich die folgende Erklärung bin mit:
@Column(name="MY_FIELD", columnDefinition="BINARY(5)")
public byte[] getMyField() {
return myField;
}
Allerdings ist die Spalte immer als Blob erstellt:
| MY_FIELD | blob | YES | | NULL | |
Irgendwelche Hinweise auf immer dies funktioniert?
Lösung
Das ist ein Fehler in OpenJPA, eingeführt von OpenJPA-740 . Ich habe einen Fehlerbericht in Ihrem Namen geöffnet. OpenJPA-1870
Andere Tipps
Die Hibernate doc , sagt die @Lob Annotation verwendet werden soll:
@Lob zeigt an, dass die Eigenschaft sollte je nach Objekttyp in einem Blob oder ein Clob beibehalten werden: java.sql.Clob, Zeichen [], char [] und java.lang.String wird in einem Clob beibehalten werden. java.sql.Blob, Byte [], byte [] und serializable Typ wird in einem Blob beibehalten werden.
Es funktioniert gut mit Hibernate: es sollte für Sie mit OpenJPA, da die Dokumentation sagt @Lob behandelt wird "in einer Standard-PPV Weise".