2012-05-10 52 views
6

我使用UserType 3.0.0.RC1中的org.jadira.usertype.dateandtime.joda.PersistentDateTime類將JodaTime DateTime映射到Hibernate。 The Javadocs爲類提到有'databaseZone'和'jvmZone'屬性,我想設置,但我找不到任何在UserType文檔中指出如何執行此操作。我發現this thread這似乎意味着,這些都是通過XML類似於以下設置:UserType/Hibernate/JodaTime - 在哪裏設置UserType全局屬性?

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

我嘗試添加這些我Hibernate的配置,但只是給了一個錯誤。有誰知道這個配置需要去哪裏?謝謝。

回答

4

這些設置確實可以放置在休眠配置,如下所示:

<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> 

原來我實際上引用錯誤的舊版UserType庫,它不支持這些屬性。 D'哦!

0

這些設置需要進入您的persistence.xml

一個例子示here

+0

謝謝,但不幸的是我沒有一個persistence.xml文件;在我正在開發的項目中,我們已經在Spring管理的'session-factory'bean中配置了所有這些屬性。很高興知道替代方案在那裏。 –