JPA介绍,以及开发环境介绍

JPA概念


  JPA(JAVA Persistence API)是sun官方提出的Java持久化规范。他为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据库。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。


  JPA是在充分吸取了现有的Hibernate,TopLink等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。从目前的开发社区反映上来看,JPA受到了极大支持,其中包括了Spring与EJB3.0的开发团队。着眼未来几年的技术走向,JPA作为ORM领域标准化整合者的目标应该不难实现。

 

JPA包括以下三方面技术:


1、ORM映射元数据
   JPA支持XML和JDK5.0注释两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据表中。

2、Java持久化API

   用来操作实体对象,执行CRUD操作,框架在后台替我们完成了所有的事情,开发者可以从繁琐的JDBC和SQL代码中解脱出来。

3、查询语言

   这是持久化操作中重要的一方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

 

 

 


JPA依赖的jar文件


Hibernate核心包(8个文件)
hibernate-distribution-3.3.1.GA
--------------------------------------
hibernate3.jar
lib/bytecode/cglib/hibernate-cglib-repack-2.1_3.jar
lib/required/*.jar


Hibernate注解包(3个文件)
hibernate-annotations-3.4.0.GA
--------------------------------------
hibernate-annotations.jar
lib/ejb3-persistence.jar、hibernate-commons-annotations.jar


Hibernate针对JPA的实现包(3个文件)
hibernate-entitymanager-3.4.0.GA
--------------------------------------
hibernate-entitymanager.jar
lib/test/log4j.jar、slf4j-log4j12.jar

 

 

JPA配置文件


  在类路径的META-INF目录下放置persistence.xml,文件名称固定。
  文件内容如下:

 

<?xml version="1.0"?>

 

 

全局事务介绍:

  两地数据库,A地现金减去100,B地增加100。需要利用全局事务。

 

  转账
1--mysql   update mysql set amount=amount-xx where id=xx
2--0racle  update mysql set amount=amount+xx where id=yy

 

  全局事务

JTA.getUserTrantion().begin();
connection = mysql
connection2 = orcale
connection  --> update mysql set amount=amount-xx where id=xx
connection2 --> update mysql set amount=amount+xx where id=yy
JTA.getUserTrantion().commit();


  二次提交协议

第一条预提交数据,把执行结果放入list。
第二条预提交数据,把执行结果放入list。
若都是true,则提交。


本地事务。

大部分情况下不涉及到两地数据库,则用本地事务。


<persistence-unit name="nbchinadb" transaction-type="RESOURCE_LOCAL">

 

transaction-type="RESOURCE_LOCAL" //标注使用本地事务

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/webrobot/archive/2010/01/13/5184207.aspx

你可能感兴趣的:(mysql,Hibernate,框架,orm,jpa)