标签:spring spring-data-jpa spring-data persistence java-ee
目前我正在使用Spring设置.我的目标是使用JPA使用它的JNDI名称访问Websphere数据源.我正在使用Spring Data JPA让我的生活更轻松,并通过一些教程来获得基本的想法.
糟糕的事情:没有人在谈论我的JPA szenario的Spring配置我之前从未使用过JPA / JDBC.
所以我希望你能在这里帮助我.我有2个配置文件:
applicationContext.xml中
<bean id="txManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="txManager" />
<bean id="eManager" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"></bean>
由于我在我的代码中使用@Transactual注释,我正在使用txManager的注释驱动标记.我只是不确定我应该为txManager配置什么以及sessionFactory标签正在做什么.是否有任何支持XML标签的文档?我错过了szenario的重要标签吗?
eManager相同 – 不确定这是否正确.
persistence.xml中
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="spring-jpa">
<jta-data-source>jdbc/myJNDI</jta-data-source>
</persistence-unit>
</persistence>
同样的事情:不知道我在做什么.我知道我需要一个持久性单元/提供者.我知道有很多人正在使用hibernate,但是如果可能的话,我希望保持原生并使用纯JavaEE / Spring.
我只是不确定如何配置.
目前我的项目正在崩溃,告诉我:“JPA PersistenceProvider返回null”
解决方法:
最好的方法是通过Spring的JNDI支持从JNDI获取EntityManagerFactory:
<jee:jndi-lookup id="entityManagerFactory" jndi-name="persistence/myPersistenceUnit" />
<jpa:repositories base-package="com.acme.repositories" />
<tx:jta-transactionManager />
这将导致从应用程序服务器使用事务管理器.您还可以尝试设置JpaTransactionManager并将从JNDI获取的EntityManagerFactory连接到其中.如果只通过< jee:jndi-lookup />查找数据源,则可以将更多配置提取到Spring配置文件中. namespace元素并遵循Spring Data JPA参考文档中的进一步配置说明.然而,如果您决定使用容器资源,通常最好使用您实际可以获得的容器资源.
标签:spring,spring-data-jpa,spring-data,persistence,java-ee 来源: https://codeday.me/bug/20190723/1513080.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。