<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns:persistence="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd ">
<!-- Name属性用于定义持久化单元的名字 (name必选,空值也合法); transaction-type:JTA和RESOURCE_LOCAL
指定事务类型(可选) -->
<!-- JPA的openJPA实现 -->
<persistence-unit name="jpa_openjpa"
transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/youbuysdb" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="123" />
<!-- 日志的级别 -->
<property name="openjpa.Log"
value="DefaultLevel=WARN, Runtime=WARN, Tool=INFO, SQL=TRACE" />
<property name="openjpa.RemoteCommitProvider" value="sjvm" />
<!-- 启用缓存,并且设置缓存的容量为5000,并且禁用软引用容量 -->
<property name="openjpa.DataCache" value="true(CacheSize=5000, SoftReferenceSize=100)" />
<!-- 启用查询结果缓存,缓存的容量为1000,并且软引用的容量为100 -->
<property name="openjpa.QueryCache" value="true(CacheSize=5000, SoftReferenceSize=100)" />
<!-- 缓存的数据存储类型 -->
<property name="openjpa.QueryCompilationCache" value="true" />
<!-- 数据库连接工厂时的属性 QueryTimeout:JDBC驱动执行查询超时的时间,以秒为单位。 -->
<!--PrettyPrint:是否格式化输出SQL语句。 PrettyPrintLineLength:SQL每行输出的最大长度。 -->
<property name="openjpa.ConnectionFactoryProperties" value="PrettyPrint=true, PrettyPrintLineLength=100" />
<!-- 查询结果一次转化为对象的最多个数,相当于JDBC的结果集对象Statement.set FetchSize。默认为-1,表示所有的查询对象立即初始化;0表示使用JDBC驱动默认的数值 -->
<property name="openjpa.FetchBatchSize" value="-1" />
</properties>
</persistence-unit>
</persistence>
xmlns:persistence="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd ">
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.hibernate.version>5.0.7.Final</project.hibe...
QueryHints
@QueryHints(@javax.persistence.QueryHint(name="org.hibernate.fetchSize", value="50"))
List<Foo> findAll();
Set the fetch size with
Spring
Data
首先说明几点,让大家更清楚整体结构:
官方source code 下载:http://
open
jpa
.apache.org/downloads.html 我下载2.2.2的版本
下载后解压缩
open
books的source code如图:
大家可以根据说明自己研究,也可以和我一起往下看,接下来是自己搭建ma
1. 首先利用IDE建立一个Web项目
(IDE为eclipse,项目名称为joindemo)
2. Lib中导入
spring
,
open
jpa
,jsf2.0,richface及其它必需的jar包;
3. Web项目加入jsf支持
Web.xml
version="1.0"?>
web-app
xmlns="http://java.sun.co