1

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

関連する春の設定:

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

私が見逃しているものに関するヒントはありますか?

4

3 に答える 3

1

注釈ベースのソリューションを探している場合は、これを試すことができます

@Type(type = "org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyAmount", parameters = { @Parameter(name="currencyCode", value="USD") })
private Money price;

ここで見つけた

メール アーカイブ: usertype-discuss (読み取り専用)

于 2012-06-12T14:49:48.883 に答える
0

シードを構成する必要性について - これは 3.0.0-RC1 のバグによるもので、将来修正される予定です。

于 2012-05-01T06:20:38.970 に答える