3

2 つのデータ ソース (db2 と sql-server) で Hibernate を使用する Spring プロジェクトがあります。

追加したらすぐ

@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SOME_SEQ")

エンティティ クラスの列フィールドに、シーケンスをサポートしていないためBeanCreationException、sql-server を作成するときに を取得します。ただし、このエンティティが使用されている唯一の場所は、適切な方言を使用している db2 を使用する DAO 内です。EntityManagerFactoryorg.hibernate.dialect.SQLServerDialectEntityManagerFactory

私は何が欠けていますか?

4

2 に答える 2

0

私も同じ問題に直面し、JPA persistence-unit 設定に次のオプションを追加することで解決しました

 <exclude-unlisted-classes>true</exclude-unlisted-classes>

このオプションにより、JPA プロバイダーは、周囲の jar 全体などではなく、リストされたクラスのみをスキャンするようになります。

だから今のように見える -

<persistence-unit name="MSSQLBackedPersistenceUnit" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:/jdbc/MSSQLServerDS</jta-data-source>

    <class>com.example.app.domain.MyEntity</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>

    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2008Dialect" />
        <property name="hibernate.show_sql" value="true" />
    </properties>
</persistence-unit>
于 2013-06-18T21:06:18.223 に答える