有关JDBC资源和JDBC连接池Glassfish的一些困惑

幸运的路克 :

我将要连接到数据库,并且正在使用EJB和JPA。我最近开始使用这些技术,因此到现在为止,我有一些问题需要全部理解:)我知道要使用JPA,需要persistence.xml。我知道该文件是我配置如何连接数据库的文件。但是,似乎有多种方法可以做到这一点。

在persistence.xml文件和Glassfish中定义诸如用户名,数据库,密码等属性的区别(或者什么时候甚至应该使用一种替代方法?)有什么区别?优点/缺点(如果有)。

在发布的图像下面,我有JDBC资源和JDBC连接池。我对两者的术语感到困惑。我们为什么不在JDBC资源中添加用户名,数据库,密码等属性?有人可以解释它们之间的区别以及它们的含义吗?

JDBC资源

JDBC资源(数据源)为应用程序提供了一种连接数据库的方法。通常,管理员为域中部署的应用程序访问的每个数据库创建JDBC资源。(但是,可以为一个数据库创建多个JDBC资源。)http://download.oracle.com/docs/cd/E19316-01/820-4335/ablih/index.html

我觉得奇怪的是,我们在池中而不是在资源中添加了这样的属性,但是我可能误解了这些概念。

在此处输入图片说明

BalusC:

在“ JDBC连接池”中,您可以创建容器管理的JDBC数据源(具有连接池功能)。数据源至少需要了解JDBC驱动程序,JDBC URL,用户名和密码。

在“ JDBC资源”中,您可以将那些容器管理的JDBC数据源绑定到一个或多个JNDI名称,以便JNDI可以将它们用于已部署的Web应用程序。

在中,persistence.xml您可以指定使用本地数据源还是使用容器管理的数据源。如果要使用容器管理的数据源,则应指定其JNDI名称。使用容器管理的数据源的优势在于,您可以在多个Web应用程序之间共享一个数据源。在JPA的情况下,它也有优势,你可以使用JTA的(容器管理事务),这样你就不需要调用transaction.begin()commit()rollback()等在每一个方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章