【问题标题】:UserType / Hibernate / JodaTime - where to set UserType global properties?UserType / Hibernate / JodaTime - 在哪里设置 UserType 全局属性?
【发布时间】:2013-03-06 16:10:32
【问题描述】:

我正在使用来自 UserType 3.0.0.RC1 的 org.jadira.usertype.dateandtime.joda.PersistentDateTime 类将 JodaTime DateTime 映射到 Hibernate。 The Javadocs 提到我想设置“databaseZone”和“jvmZone”属性,但我在 UserType 文档中找不到任何指示如何执行此操作的内容。我发现this thread 似乎暗示这些是由类似于以下内容的 XML 设置的:

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

我尝试将这些添加到我的休眠配置中,但这只是给出了一个错误。有谁知道这个配置需要去哪里?谢谢。

【问题讨论】:

    标签: java hibernate jodatime usertype


    【解决方案1】:

    这些设置确实可以放在休眠配置中,如下所示:

    <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 库,它不支持这些属性。哦!

    【讨论】:

      【解决方案2】:

      这些设置需要进入您的persistence.xml

      一个例子显示here

      【讨论】:

      • 谢谢,可惜我没有persistence.xml文件;在我正在处理的项目中,我们已经在 Spring 管理的“会话工厂”bean 中配置了所有这些属性。很高兴知道替代方案在那里。
      猜你喜欢
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2013-06-22
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多