0

こんにちは、Hibernate 3.6.3 アプリケーションを Hibernate 4 に移行しようとしていますが、次のエラーが発生します。

 Invalid property 'dataSource' of bean class 
 [org.springframework.orm.jpa.LocalEntityManagerFactoryBean]: 
 Bean property 'dataSource' is not writable or has an invalid 
 setter method. Does the parameter type of the setter match the 
 return type of the getter?

私はこの投稿を見てきました: JPA と SpringIOc の統合

LocalEntityManagerFactoryBean を使用すると上記のエラーが発生しますが、LocalContainerEntityManagerFactoryBean を使用すると、DAO Bean の作成時にエラーが発生します。

spring.orm の依存関係の構成の問題だと思いますが、行ったすべての依存関係の変更が機能していないため、わかりません。

JPA、Hibernate 3.6.3、および Spring アプリケーションを適応させるための Hibernate 4 移行ガイドはどこにありますか?

4

1 に答える 1

2

ドキュメントによると

この EntityManagerFactory ブートストラップは、データ アクセスに JPA のみを使用するスタンドアロン アプリケーションに適しています。外部 DataSource および/または複数のリソースにまたがるグローバル トランザクションに対して持続性プロバイダーを設定する場合は、それを完全な Java EE 5 アプリケーション サーバーにデプロイし、デプロイされた EntityManagerFactory に JNDI 経由でアクセスするか、Spring のJPA のコンテナー コントラクトに従って、ローカル セットアップ用に適切に構成された LocalContainerEntityManagerFactoryBean。

つまり、LocalContainerEntityManagerFactoryBean代わりに使用する必要があるかもしれませんLocalEntityManagerFactoryBean

<bean id="entityManager" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="myDataSource" />
    ....
    ....
</bean>

元:

于 2013-03-25T12:33:06.570 に答える