JPA初识
JPA: Java Persistence API(java持久化api)
备注:JPA是Java EE中的一种规范,有很多流行的orm框架都实现了这个规范(hibernate、toplink、spring data jpa、eclipselink)
可以把JPA理解为一套接口,各种orm提供产商要实现这个接口。使用JPA开发可以使我们把更多的精力放在业务逻辑上,而不会过多精力放在数据操作上的重复代码。
学习JPA之前推荐最好学习Hibernate,使用JPA操作和hibernate如出一辙,几乎没有压力。但是hibernate我们使用的更多的是使用配置文件来建立表关联,但是如果使用JPA开发的话,使用注解开发会方便很多。
JPA中几个重要的对象:
Entity:实体,关联数据库表的对象
EntityManagerFactory:实体管理对象工厂,类似hibernate的sessionFactory对象
EntityManager:实体管理对象,类似hibernate的session对象
Query:查询对象(查询会出现),和hibernate的Query用法几乎一致
EntityTransaction:实体事务,和hibernate的Transaction事务几乎没差
Persistence:该类有一个静态方法来产生EntityManagerFactory对象
JPA之间的关系如下图:
有一个很重要的配置文件persistence.xml,该文件是在META-INF文件夹下的。
JPQL:(java持久化查询语言)和hibernate的HQL没有什么区别。
事务类型有两种:
1、JTA,分布式事务(比如银行之间的转账之类就有可能会遇到这种情况)
2、本地事务(Resource Local),大多数我们都是遇到这种情况(很少跨数据库访问)
JPA注解:
学习JPA开发最重要的一点就是使用JPA注解开发,能够大大的提高效率,否则使用JPA就没有任何意义了。JPA注解需要自己多花心思去测试使用。
JPA的使用:如果想使用JPA来开发的话,那么必须要添加一些已经实现了JPA规范的jar包,比如hibernate、eclipselink、toplink等的实现jpa包。最好是使用jdk1.6以上版本。
参考网址:http://www.tutorialspoint.com/jpa/index.htm