当前位置: 首页 > 面试题库 >

UserType / Hibernate / JodaMoney错误:PersistentMoneyAmount要求将currencyCode定义为参数

拓拔嘉运
2023-03-14
问题内容

我正在使用UserType 3.0.0.RC1将JodaMoney映射到Hibernate。

当SessionFactory初始化时,我陷入了一个错误:

PersistentMoneyAmount要求将currencyCode定义为参数,或者将defaultCurrencyCode
Hibernate属性定义为

我确定我必须遇到一些配置问题-这是相关的代码段。

Persistence.xml:

<persistence-unit name="spring-jpa">
    <properties>
        <property name="hibernate.format_sql" value="true"/>
        <property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="jadira.usertype.autoRegisterUserTypes" value="true"/>
    </properties>
</persistence-unit>

相关的spring配置:

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan">
        <list>
            <value>com.mangofactory.concorde</value>
            <value>com.mangofactory.moolah</value>
        </list>
    </property>
    <property name="persistenceUnitName" value="spring-jpa" />
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true" />
            <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
        </bean>
    </property>
</bean>

关于我所缺少的任何提示吗?


问题答案:

我最终使用以下配置解决了这个问题persistence.xml

<persistence-unit name="spring-jpa">
    <properties>
        <property name="hibernate.format_sql" value="true"/>
        <property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="jadira.usertype.autoRegisterUserTypes" value="true"/>
        <property name="jadira.usertype.currencyCode" value="AUD"/>
        <property name="jadira.usertype.seed" value="org.jadira.usertype.spi.shared.JvmTimestampSeed"/>
    </properties>
</persistence-unit>

棘手的部分是,我需要提供一个jadira.usertype.seed以便jadira.usertype.currencyCode检测到。



 类似资料:
  • 为泛型定义要求 如类型约束中描述的一样, 类型约束允许你在泛型函数或泛型类型相关的类型形式参数上定义要求. 类型约束在为关联类型定义要求时也很有用.通过定义一个泛型Where子句来实现. 泛型Where子句让你能够要求一个关联类型必须遵循指定的协议, 或者指定的类型形式参数和关联类型必须相同. 泛型Where子句以Where关键字开头, 后面关联类型的约束或类型和关联类型一致的关系. 泛型Wher

  • 我不知道为什么我会得到这个。我用这个代码显示专辑封面。大多数专辑/子专辑都运行良好。但其中有2个会抛出错误:致命错误[0]:array_key_exists()期望参数2为数组,给定为null 任何指点都将受到高度赞赏。谢谢.

  • 我正在开发一个API,需要抛出和异常,如下所示 如果sort by参数不是我预先确定的值之一,我有几个参数来做这件事,因为这里是我的控制器的样子 我删除了url,但它可以对传入的数据进行排序,但我需要验证并抛出正确的错误,我真的不知道如何以所需的格式执行,如json,欢迎任何帮助

  • 问题内容: 在这种情况下,能否使休眠状态以“正确”的某个值来执行“正确的事情”? 问题是prop是联接表中具有不同表示形式的UserType。在表A中,它表示为整数,在表B中,它表示为char。因此,eq测试转换为看是否1 ==’a’或多或少,这是错误的,但由1或’a’表示的对象应该相同,因此它们应该比较为true。 问题答案: 我认为您可以使用映射文件中关系上的标记来执行此操作。 例如: 我用它

  • 我的电子应用程序有问题。大约9个月前我就让它工作了,但现在我定制的最小化和最大化按钮不能正常工作。 这是我的文件结构 下面是 和 这是我的文件 当我单击最小化或最大化时,什么都不会发生。所以我去http://localhost:8000/html/index.html检查了控制台,我看到了这些错误 未捕获引用错误:索引处未定义require。html:137 未捕获的引用错误:在index.js:

  • 我们有一个实体的层次结构,例如,抽象Basket和两个concrete,它们又可以包含一些其他项的列表,例如,具有完全相同的层次结构(SaleBasketItem,ReturnBasketItem)。 因此,当我尝试执行hql查询时,问题就出现了 其中动态地为“sale”或“return”。然后,我将该查询放入中,其类型为我需要的,并尝试,其中是表示混凝土篮状态的一些枚举(每个混凝土类都不同,在抽