在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.xmlservlet容器对数据源的

。可以由多个Web应用程序使用。在<resource-ref>一个在web.xmldefinies中

的数据源的由特定的Web应用程序。注意:使用JPA时,您不需要中的一个web.xml。它进入persistence.xml

以上是 在JPA中使用tomcat的连接池 的全部内容, 来源链接: utcz.com/qa/397795.html

回到顶部