我正在開發一個使用spring和hibernate的應用程序。NoSuchBeanDefinitionException:沒有定義名爲'transactionManager'的bean
當我運行我的應用程序收到此錯誤信息:
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>
我GOOGLE了這個問題,我找到了一個解決方案,我必須改變這一行:
<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?
我怎樣才能解決這個問題?
發佈完整的堆棧跟蹤。 –
你用jpa和hibernate嗎?如果您使用jpa,則必須將sessionFactory更改爲entityManagerFactory。 – OQJF
以及您的第一種方法失敗的原因僅僅是因爲bean ID中的拼寫錯誤。 –