2

春と休止状態を使用してアプリケーションを開発しています。

アプリケーションを実行すると、次のエラー メッセージが表示されます。

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined

私のコンテキストアプリケーションファイルには、これがあります:

<bean id="tansactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>

この問題についてグーグルで調べたところ、この行を変更する必要がある解決策が見つかりました:

<bean id="tansactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">

に :

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">

しかし、私は別の問題を抱えています:

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

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

2

注釈「tansactionManager」にタイプミスがあり、「r」、「transactionManager」がありません。私は修正を行い、それは私にとってはうまくいきました。

于 2014-12-11T16:41:49.173 に答える
1

セッションファクトリーを使用している場合、これは機能するはずです

<bean id="tansactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>

ただし、JPA EntityManager を使用する場合は、必要です。

    <bean name="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
             <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>

migrating-to-spring-3-1-and-hibernate-4-1 を参照してください。必要な構成の良い例が含まれています

于 2014-12-11T04:45:28.403 に答える