JPA(EclipseLink)基本配置一

本文详细介绍了如何使用EclipseLink下载及在IDE中导入相关Jar包,配置JPA和PersistenceUnit,以及Bean注解配置如@Entity、@Table等关键步骤。同时解释了如何定义实体类的映射属性,包括主键生成策略、字段映射、二进制和大文本映射、枚举字段映射以及日期数据映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,文件下载

EclipseLink下载

我下载的时候最新版本是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&amp;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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值