2012-05-10 9 views
6

Używam klasy org.jadira.usertype.dateandtime.joda.PersistentDateTime z UserType 3.0.0.RC1 do odwzorowania JodaTime DateTime na Hibernate. The Javadocs dla klasy wspomnieć, że istnieją właściwości "databaseZone" i "jvmZone", które chciałbym ustawić, ale nie mogę znaleźć niczego w dokumentacji UserType, która wskazuje, jak to zrobić. Znalazłem this thread co wydaje się sugerować, że są one ustawione przez XML podobny do następującego:UserType/Hibernate/JodaTime - gdzie ustawić globalne właściwości UserType?

<prop key="jadira.usertype.autoRegisterUserTypes">true</prop> 
<prop key="jadira.usertype.databaseZone">jvm</prop> 

Próbowałem dodając je do mojej konfiguracji hibernacji, ale to po prostu dał błąd. Czy ktoś wie, gdzie ta konfiguracja musi iść? Dzięki.

Odpowiedz

4

Ustawienia te mogą rzeczywiście być umieszczone w konfiguracji hibernacji, jak tak:

<session-factory> 

    <!-- Database connection settings --> 
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="connection.url">jdbc:mysql://localhost:3306/SOME_DATABASE</property> 
    <property name="connection.username">root</property> 
    <property name="connection.password">password</property> 

    ... 

    <property name="jadira.usertype.databaseZone">UTC</property> 
    <property name="jadira.usertype.javaZone">UTC</property> 

</session-factory> 

Okazuje się, że faktycznie przedstawieniu starą wersję biblioteki UserType omyłkowo, która nie obsługiwała tych właściwości. D'oh!

0

Ustawienia te należy wprowadzić w urządzeniu persistence.xml.

Przykładem jest pokazany here

+0

Dzięki, ale niestety nie mam pliku persistence.xml; w projekcie, nad którym pracuję, mamy wszystkie te właściwości skonfigurowane w fasoli "sesja-fabryka" zarządzanej przez Spring. Miło wiedzieć, że istnieje alternatywa. –

Powiązane problemy