Luc*_*uke 4 java ejb jpa persistence.xml java-ee
我正在尝试了解以下内容:
当我创建EJB项目并将其部署到Glassfish时,我是否在Glassfish的管理员中心设置JDBC资源/连接池,还是在persistence.xml中添加了用户名,密码等所有不同的属性?我一点都不明白。
我不明白为什么我们既有JDBC资源又有JDBC连接池。这是什么,它们之间有什么区别?有人可以向我解释这些事情还是/并且提供有关persistence.xml文件及其周围部分的良好链接?
最好定义一个JDBC资源,而不是将信息放在persistence.xml中。这样,您将可以利用连接池。您将在persistence.xml中定义为JDBC资源提供的JNDI名称。
这是什么,它们之间有什么区别
下面,我粘贴了Glassfish 3.x帮助的某些部分。看看这个。真的很有帮助
JDBC连接池
JDBC连接池包含一组在注册连接池时创建的JDBC连接
JDBC资源
Java数据库连接(JDBC)资源(数据源)为应用程序提供了连接数据库的方法。通常,管理员为域中部署的应用程序访问的每个数据库创建JDBC资源。但是,可以为一个数据库创建多个JDBC资源。
通过在Java命名和目录接口(JNDI)API树上查找数据源,然后请求连接,应用程序可以从连接池中获得数据库连接。与数据源关联的连接池提供了与应用程序的连接。
将数据源(JDBC)资源视为某种数据服务(连接池)外观的工厂。在这种情况下,它隐式地从池中获取连接并将其提供给您的应用程序。
一个示例persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">
<persistence-unit name="WebApplication2PU" transaction-type="JTA">
<jta-data-source>jdbc/sample</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
这行是我为JDBC资源指定的JNDI名称:
<jta-data-source>jdbc/sample</jta-data-source>
Run Code Online (Sandbox Code Playgroud)
您无需通过这种方式在persistence.xml中定义与数据库连接相关的任何内容……只需资源的JNDI名称
归档时间: |
|
查看次数: |
4717 次 |
最近记录: |