JPA持久化persistence.xml配置文件及參數詳解
JPA是Java Persistence API的簡稱,中文名Java持久層API,是JDK 5.0註解或XML描述對象-關係表的映射關係,並將運行期的實體對象持久化到數據庫中。
JPA包括以下三個方面的技術:
1、 ORM映射元數據
JPA支持XML和JDK註解兩種元數據的形式,元數據描述對象和表之間的映射關係,框架據此景實體對象持久化到數據庫表中
2、API
用來操作實體對象,執行CRUD操作,框架在後臺代替我們完成所有的事情,開發者能夠從繁瑣的JDBC和SQL代碼中解放出來
3、查詢語言
通過面向對象數據庫的查詢語言查詢數據,避免程序的SQL語句的高度耦合
持久化單元的具有的屬性:
1、該持久性單元內的實體類
2、爲上述實體類提供持久性支持的提供者或庫
JPA實現,能夠爲應用提供持久性對象的庫。
3、上述實體類的數據源
是指提供實體類存儲的數據庫。數據源必須在服務器中註冊並且使用JNDI名稱指定。如果事務是由容器管理的JTA事務, 那麼數據源就必須是JTA數據源,如果事務是由應用負責管理,那麼數據源就必須是JDBC連接指定。
4、應用使用的事務類型
<persistence>
version = "2.1"
xmlns = "http://xmlns.jcp.org/xml/ns/persistence"
xmlns = "http://www.w3.org/2001/XMLSchema-instance"
xsi:shemaLocation = "http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence_2_1.xsd"
<!--配置持久化單元-->
<persistence_unit name = "HelloWorldPU">
<!--數據庫連接 Jta-data-source和 non-jta-data-source用於分別指定持久化提供商使用的JTA和/或non-JTA數據源的全局JNDI名稱(可選)-->
<jta-data-source>myDS</jta-data-source>
<!-- 聲明orm.xml所在位置.即指定映射文件 (可選) -->
<mapping-file>product.xml</mapping-file>
<!-- 以包含persistence.xml的jar文件爲基準的相對路徑,添加額外的jar文件.指定託管類的附加JAR(可選) -->
<jar-file>../lib/model.jar</jar-file>
<!--持久化類-->
<class>com.lzb.mitan</class>
<!--爲映射的類禁用掃描-->
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<!--設置屬性-->
<properties>
<!--自動輸出schema創建DDL語句 value的值可以是 create-drop / create / update
值得注意的是create-drop他會在SESSION關閉後刪除所有表開啓式再創建。 -->
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<!--刪除/重建SQL架構-->
<property
name = "javax.persistence.schema-generation.database.action"
value = "drop-and-create"/>
<!--格式化SQL-->
<property
name = "hibernate.format_sql" value = "true"/>
<property
name = "hibernate.use_sql_comments" value = "true"/>
</properties>
</persistence_unit>
</persistence>
持久化單元能夠被打包成war文件,作用域取決於persistence.xml的位置。
注意:persistence.xml文件的位置決定持久性的根——jar文件或者是包含META-INF的目錄