首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

1.初识JPA2.0

2012-09-02 
一.初识JPA2.0JPA概述JPA是独立于SQL ,基于JDBC之上的抽象层。所有类和注解都在javax.persistence包中。JPA

一.初识JPA2.0

JPA概述
JPA是独立于SQL ,基于JDBC之上的抽象层。所有类和注解都在javax.persistence包中。


JPA主要组件:
1.ORM,对象和数据库数据之间的映射
2.An entity manager API执行数据库相关操作,CRUD(Create, Read, Update, Delete)
3.JPQL(The Java Persistence Query Language) 用面向对象的查询语言查询数据
4.事务和锁机制
5.回调(Callbacks)和监听器(listeners)定制持久化生命周期逻辑


JPA2.0新特征:
1.基本数据类型(String, Integer, etc.)的集合和嵌入对象的集合可以映射到不同的表中。之前,你仅能映射实体的集合。
2.Map支持被扩展(Map映射),maps的keys和values可以是基本类型,实体,嵌入对象。
3.加入@OrderColumn注解维护持久化排序。
4.关系映射中父对象被移除,子对象被移除(Orphan removal的支持)。
5.悲观锁的支持。
6.引进新的Criteria API,基于面向对象方式的查询。
7.JPQL语法支持case expressions。
8.嵌入对象可以嵌入其他嵌入对象,并与之关系映射。
9.dot(.)导航语法被扩展,处理关系映射中嵌入对象,嵌入对象的嵌入对象。
10.新的缓存API被加入。
11.persistence.xml文件中一些属性被标准化,增加程序的可移植性。

?

我们先看一个简单的例子。

我的运行环境是eclipse+mvn


1.在maven插件中添加附件archetype-catalog.zip中的localArchetype

1.初识JPA2.0

?

1.初识JPA2.0

1.初识JPA2.0

?

2.创建mavenproject,Filter:weld,选择ArtifactId:jboss-javaee6-webapp,该archetype可以快速创建JavaEE6项目,更多信息:http://seamframework.org/Documentation/CDIQuickstartForMavenUsers

1.初识JPA2.0

?

1.初识JPA2.0

1.初识JPA2.0

?

3.填写maven坐标

1.初识JPA2.0

?

1.初识JPA2.0

1.初识JPA2.0

?

4. 我们现在删除一些我们现在不需要的代码,删除org.example.myproject.controller,org.example.myproject.data,org.example.myproject.rest包,删除org.example.myproject.model.Member类,org.example.myproject.test.MemberRegistrationTest测试类。



5. 好了,现在我们需要创建我们自己的实体类

?

把src/main/resources下的META-INF目录(包含persistence.xml)复制到src/test/resources

目录下

记得要创建数据库javaee6,改写你自己的用户名密码


7. 下一步就是要修改pom.xml了,添加依赖包坐标

<plugin><artifactId>maven-surefire-plugin</artifactId><version>2.4.3</version><configuration><skip>false</skip></configuration></plugin>

?

8. 运行maventest。就可以看到数据库中已经多了一张book表,并插入了值。

?

?

热点排行