一,文件下载
我下载的时候最新版本是2.4.1
在IDE的项目文件种导入 下列Jar包, mysql为JDBC的mysql驱动包
JPA配置文件,默认在
classpath/META-INF/persistence.xml
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="mytest" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>cn.czwproject.demo.jpa.domain.Customer</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=UTF-8" />
<property name="javax.persistence.jdbc.user" value="chenzw" />
<property name="javax.persistence.jdbc.password" value="crazy2012" />
<property name="eclipselink.logging.level" value="FINE" />
<!-- 下面设置deploy生成数据库表,undeploy时删除表,同类属性还有create-tables,none,drop-and-create-tables -->
<property name="eclipselink.ddl-generation" value="create-tables" />
</properties>
</persistence-unit>
</persistence>
Bean用注解配置
* @Entity 定义为实体隐射类型
* @Table(name="person") 设置对应的表名称,可以不设置
*
* JPA规范规定映射元数据可以定义在 一、成员变量 二、属性的getter方法上 <br>
*
* 1。每个bean必须具有唯一标志 <br>
* 定义方式 @Id @GeneratedValue(strategy=GenerationType.AUTO) <br>
* AUTO 自动根据产品和方言的不同来选择 <br>
* TABLE(表生成策略)所有数据库都支持的 <br>
*
* 2.默认类的所有字段 按照 字段名称的简单名称 映射成 表列名称, <br>
*
* 如果要取消映射可以添加 @Transient<br>
*
* 3.关于默认值的设置 在字段声明的时候赋值 <br>
/**
*
* 对二进制和大文本进行映射 @Lob
*/
@Lob
/**
* 映射枚举 字段
*
* @Enumerated(EnumType.STRING) 映射名称用STRING,映射序列用 ORDINAL
*/
@Enumerated(EnumType.ORDINAL)
/**
* 对日期数据进行映射
*
* TemporalType.TIMESTAMP (时间戳) TIME(时间) DATE(日期)
*/
@Temporal(TemporalType.TIMESTAMP)
/**
*如果要取消映射可以添加
*/
@Transient