Ich lerne, wie man mit Spring Boot JPA auf Datenbanken zugreift.Wie Joda Time (alle) in Spring JPA mit einigen SQL-kompatiblen Spalte Typ speichern?
Ich schrieb eine Anwendung mit einigen Unternehmen, mit Instant Feld:
ich kompiliert mit @Temporal
oder @Type
Anmerkungen konnte nicht/laufen, so dass sie als Kommentar gekennzeichnet.
Auch konnte ich nicht mit der Einstellung von spring.jpa.properties.jadira.usertype.autoRegisterUserTypes
in application.properties
ausgeführt wurde verursacht einen Fehler
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.registerTypeOverride(Lorg/hibernate/usertype/UserType;[Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
Also, diese Linie auch geführt wird kommentiert.
spring.datasource.url=jdbc:h2:tcp://localhost/~/pdk
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
# Jadira requirement
#spring.jpa.properties.jadira.usertype.autoRegisterUserTypes=true
Leider im Endzustand bekam ich einige serialisiert/Binärdaten in Feldinhalt
Ist es möglich, einige SQL-kompatible Spalte hier eingeben zu müssen?
UPDATE
Ich fand, dass die folgende Anmerkung funktionierte gut:
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentInstantAsTimestamp")
Aber warum in application.properties
Einstellung nicht funktioniert?
Was meinst du damit, dass du mit der Jadira-Annotation nicht kompilieren/laufen konntest? Welche Art von Fehlern hast du bekommen? Welchen JPA-Anbieter verwenden Sie? BTW - die 'PersistentDateTime' funktioniert für Joda' DateTime', nicht 'Instant', was der Typ deines Feldes ist, also ist das vielleicht das Problem. –
Verwenden Sie kompatible Spring Boot- und Hibernate-Versionen? Scheint wie binäre Inkompatibilität der Bibliotheken. Welche Versionen verwendest du? –