网站程序和空间区别自媒体服务平台
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/persistencehttp://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的目录