程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用JPA的不同實現的配置

使用JPA的不同實現的配置

編輯:關於JAVA

以前使用JPA的實現是toplink,現在改為hibernate,所以要修改persistence.xml文件,兩者的配置有一些不一樣,並且在EE環境下面和SE的環境下面也有不一樣,還有一點,那就是當persistence.xml裡面有些格式出錯的時候,雖然出錯的不是我們需要的那個單元,但也會使得整個persistence.XML報廢。

下面帖的是在SE的環境下面使用toplink和hibernate的實現,兩者都寫在同一個persistence.XML裡面。這樣切換起來也方便一些。

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->

Oracle.toplink.essentials.PersistenceProvider

com.hadeslee.jpaentity.Department

com.hadeslee.jpaentity.Person

org.hibernate.ejb.HibernatePersistence

com.hadeslee.jpaentity.Department

com.hadeslee.jpaentity.Person

在SE的環境下面,是不能使用容器的JTA的數據源的。並且不能使用true這個屬性。

本文重點是記錄下兩個常用的JPA的實現的配置。目前是在SE環境下的配置。EE環境下面的配置如下:

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

-->

Oracle.toplink.essentials.PersistenceProvider

MobileOAMSSQL

org.hibernate.ejb.HibernatePersistence

MobileOAMySQL

在EE環境下面使用JPA配置就簡單了許多,首先他可以把當前模塊的CLASS文件都包括進來,不用手工指定。並且也少了很多有關於數據庫連接的操作,因為這個時候都是從容器裡面去取數據源的。並且此時的事務是由容器去管理的,也就是使用JTA,不再是RESOURCE_LOCAL了。這樣在代碼裡面就不用em.getTransaction()。begin();和em.getTransaction()。commit()了,並且可以使用注入功能,把EntityManager注入到使用它的地方了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved