Ich versuche, JodaTime DateTime-Felder mit JPA zu PostgreSQL beizubehalten, aber Probleme mit Null-Zeigern auf Datenbank-NULL-Werte zu haben.
Ich arbeite mit der NetBeans 7 beta 2 IDE. Die Persistenzimplementierung ist EclipseLink 2.2.0 und ich verwende einen EclipseLink Converter, um das Mapping zum Laufen zu bringen. Hier ist die Erklärung meines Feldes:
%Vor%Die Konverterklasse:
%Vor%Dies funktioniert gut, solange ein tatsächlicher DateTime-Satz vorhanden ist. Aber sobald es nicht gesetzt ist, scheint EclipseLink einen String-Typ anzunehmen und postgresql beginnt sich darüber zu beschweren, dass der Wert des Typ-Zeichens variiert. Ich nehme an, dies liegt daran, dass die Konverterklasse anstelle eines Datumsobjekts einen Nullzeiger zurückgibt und EclipseLink auf einen Standardwert zurückgreift.
Gibt es eine Möglichkeit, dies zu erreichen, ohne auf plain java.util.Date zu wechseln?
Dieser Artikel: Ссылка hat mir einige nützliche Informationen über das lokale Datum gegeben zu der db und es hatte einige wichtige Unterschiede zu Ihrer DateTimeConverter-Implementierung (insbesondere die Implementierung von AttributeConverter nicht nur Konverter und die Annotation von 'Converter' ist auf Klassenebene
Wir haben einen anderen Ansatz gewählt. (und Entschuldigung für unsere Codierungsstandards!)
Im POJO haben wir:
%Vor%In package.info haben wir:
%Vor%Wir haben dann die Klasse JodaDateTimeType
%Vor%Tags und Links java jpa postgresql eclipselink jodatime