我剛開始學習Spring框架。我目前的目標是通過Geronimo服務器上的JPA(TopLink **提供程序)從我的bean訪問數據庫。但我無法克服獲得entityManagerFactory的問題。無法檢索「的entityManagerFactory」使用Geronimo的
的例外,我得到:
java.lang.IllegalStateException: 的ClassLoader [org.apache.geronimo.kernel.config.MultiParentClassLoader] 不提供 'addTransformer(ClassFileTransformer)' 方法。指定定製 的LoadTimeWeaver或使用Spring的代理啓動Java 虛擬機: -javaagent:彈簧agent.jar中
的方式訪問它:
<context:load-time-weaver />
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:/META-INF/persistence.xml" />
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<bean name="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven />
我會,如果非常感謝任何人都可以在不使用「-javaagent:spring-agent.jar」選項的情況下幫助我。
在搜索中的溶液。第一次嘗試。
繼「axtavt」 advice,我發現例如指定特殊類加載器在Tomcat Web應用程序。它爲此目的使用context.xml文件。儘管我的Geronimo使用Tomcat,但我沒有成功實施context.xml。正如在下一個 manual中所述,替代context.xml對於Geronimo是geronimo-tomcat.xml,但它的語法不提供任何更改類加載器的可能性。我仍然需要幫助!
嗨,這似乎是正確的做法,但我沒能找到任何context.xml的替代。我更新了我的問題。 – Denis 2010-05-28 11:12:59
@Denis:編輯回答。 – axtavt 2010-05-28 14:17:55
你好!由於使用Hibernate,我有一個問題。我在哪裏可以找到「org.hibernate.ejb.HibernatePersistence」類?我決定使用maven並將下面的工件作爲依賴項「org.hibernate:hibernate-entitymanager」。 Maven爲我的項目添加了三個與hibernate相關的jar。其中兩個使用註釋連接,第三個是核心,但它們都不包含所需的類「org.hibernate.ejb.HibernatePersistence」。我遵循的指示:http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/configuration.html – Denis 2010-05-30 11:58:44