Bestehen java.Zeit.Sofortige (JDK8) mit JPA2/Hibernate
Weder JPA noch Hibernate unterstützt derzeit die neue date/time-Klassen gebracht, die durch JSR-310 in JDK8 (JPA ticket, Hibernate ticket). Trotzdem würde ich gerne code, mit dem JDK8 date/time-Klassen, wie Sie schließlich auch entwickelt. Insbesondere bin ich daran interessiert java.time.Instant
, nicht in voller Unterstützung für alle java.time.*
Arten, wie alle meine Einheiten verwenden dieses bestimmten Klasse (oder so denke ich jetzt zumindest 🙂
Eine Möglichkeit ist das schreiben einer Typ Konverter im Sinne von JPA 2.1. Aber unsere app-server JBoss EAP 6.3 was ist JPA 2.0, aber nicht 2.1-kompatibel, so dass diese Frage für jetzt.
Die nächste option ist die Verwendung einer Hibernate-Nutzer-Typ (einem blog-post über das konvertieren von anderen JSR-310 Klassen hier).
Gibt es bessere Möglichkeiten? Danke.
- Ja: verwenden Sie eine Bibliothek definiert diese hibernate-user-Typen für Sie: jadira.sourceforge.net/index.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen die ThreeTen-Startseite, wo drei verschiedene JPA-Bibliotheken genannt werden:
Entweder Hibernate 5.2.0+ oder frühere Hibernate 5 fügen Sie das folgende dependency:
Im Ruhezustand 5.2 ab hat dieses Problem gelöst, mehr voll, die Sie nicht mehr brauchen, um die
hibernate-java8
Abhängigkeit von Ipandzic Kommentar, und Sie könnenjava.time.*
Klassen wieLocalDateTime
oder Instant-ohne zusätzliche Schritte. Sie brauchen auch nicht daneben Spalten mitjava.util.LocalDateTime
etc alsTemporal
mehr, die Weg mussten Sie mit den älterenjava.util.Date
Ansatz.Da Hibernate 5.2, die
hibernate-java8
Inhalte wurden zusammengeführthibernate-core
die Veränderung sehen, die Noten hier