我即將與我的數據庫建立連接,並使用EJB和JPA。我最近開始做這些技術,所以我現在有一些問題了解這一點:) 我知道,爲了使用JPA,需要persistence.xml。這是我配置如何連接到數據庫的文件,我知道。但是,似乎有多種方式來做到這一點。關於JDBC資源和JDBC連接池的一些疑惑Glassfish
在persistence.xml文件和GlassFish中定義諸如用戶名,數據庫,密碼等屬性會有什麼區別(或者什麼時候應該使用另一種替代方法?)?優點/缺點,如果有的話。
我發佈的映像下面有JDBC資源和JDBC連接池。我對這兩者的術語感到困惑。爲什麼我們不在JDBC資源中添加諸如用戶名,數據庫,密碼等屬性?有人可以解釋他們之間的區別,他們是什麼意思?
JDBC資源
JDBC資源(數據源)爲應用程序提供的 連接到數據庫的裝置。通常,管理員爲在 域中部署的應用程序訪問的每個數據庫創建一個JDBC 資源。 (然而,多個JDBC資源可以爲 數據庫中創建的。) http://download.oracle.com/docs/cd/E19316-01/820-4335/ablih/index.html
我覺得很奇怪,我們的游泳池,但不是在資源添加這樣的特性,但我可能誤解的概念。
那麼你什麼時候在persistence.xml中設置屬性?當你在Java SE中有一個應用程序時?但除此之外,它本質上是相同的屬性,你可以在persistence.xml中定義? – LuckyLuke
是的,只有在普通的香草Java SE應用程序中才有意義(例如,當您想單元測試您的JPA項目時)。在一個Java EE容器中,您真的很想爲容器管理的數據源提供JTA,這樣您的EJB就可以在事務上下文中很好地完成他們的工作。通常,在Web項目中提供另一個'persistence.xml',它繼承JPA項目中的類,並將事務類型重寫爲JTA,同時指定一個指向容器的JNDI名稱的託管數據源。 –
BalusC
Okey,那麼我想我開始明白了:) – LuckyLuke