在JPA中使用tomcat的连接池
我想在运行于tomcat的Web应用程序中将连接池与JPA /
TopLink一起使用。以前,我使用jdbc的Connection和Statement类来处理数据库中的数据。以这种方式使用连接池,我只需在context.xml中声明资源并在应用程序中获取此资源:
Context c = new InitialContext();DataSource source = (DataSource) ((Context)c.lookup("java:comp/env")).lookup("jdbc/MySource");
现在,我想在JPA中使用这种连接池。我怎样才能做到这一点?
另一个问题:在某些示例中,我看到reosurce在context.xml中声明,然后在 ref>中的web.xml中声明。为什么我应该在不同的地方声明它还是相同的声明,我的意思是它等同于context.xml中的声明?
回答:
现在,我想在JPA中使用这种连接池。 我怎样才能做到这一点?
假设你已经宣布通过连接池数据源创建<Resource>
的context.xml
,那么你只需要声明的JPA数据源使用在webapp的/META-
INF/persistence.xml。
<persistence-unit name="YourPersistenceUnit" transaction-type="JTA"> <jta-data-source>jdbc/MySource</jta-data-source>
</persistence-unit>
另一个问题:在一些示例中,我看到reosurce在中声明
context.xml
,然后在web.xml
中声明<resource-
ref>。为什么我应该在不同的地方声明它还是同一声明,我的意思是它等同于in中的声明
context.xml
?
其中<Resource>
一个定义了context.xml
servlet容器对数据源的
。可以由多个Web应用程序使用。在<resource-ref>
一个在web.xml
definies中
的数据源的由特定的Web应用程序。注意:使用JPA时,您不需要中的一个web.xml
。它进入persistence.xml
。
以上是 在JPA中使用tomcat的连接池 的全部内容, 来源链接: utcz.com/qa/397795.html