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
分享到:
相关推荐
本资料主要针对JPA的使用进行详细讲解,包括如何搭建JPA开发环境以及全局事务的介绍。 **一、JPA开发环境的搭建** 1. **集成环境选择**: JPA可以与多种应用服务器和IDE集成,如Tomcat、Jetty、Eclipse、IntelliJ ...
了解以上基础后,你可以观看"03_传智播客JPA详解_搭建JPA开发环境和全局事务介绍"的自学视频,视频将更深入地展示如何操作和实践。学习过程中,你将看到如何配置JPA环境,创建并管理实体,以及如何在实际项目中运用...
在本教程中,我们将深入探讨JPA的开发环境配置以及其核心设计理念。 首先,让我们了解**JPA的开发环境**。为了开始使用JPA,你需要一个支持JPA的Java开发环境,这通常包括: 1. **Java Development Kit (JDK)**:...
**二、JPA开发环境准备** 1. **JDK**: 首先确保安装了兼容JPA的Java Development Kit(JDK),通常是Java 8或更高版本。 2. **IDE支持**: 选择一个支持JPA的集成开发环境(IDE),如Eclipse、IntelliJ IDEA等,...
在**开发环境**的搭建中,首先需要一个支持JPA的Java EE应用服务器,如Tomcat、WildFly等,或者Spring Boot框架,因为它们内置了对JPA的支持。接下来,需要引入JPA的实现库,比如Hibernate或EclipseLink,这些是JPA...
利用Gemini JPA框架,Java开发人员能够在OSGi环境中更加方便地利用JPA的强大功能,例如: - 可以将JPA相关的jar包作为OSGi Bundles来管理,这包括Entity类和持久化描述符。 - 在OSGi Bundles中,可以声明持久化描述...
Spring Data JPA 是 Spring Data 家族的一员,它的设计目标是进一步减少开发人员在数据访问层的工作量。通过 Spring Data JPA,开发者几乎无需编写任何 DAO(数据访问对象)实现,即可完成常见的 CRUD(创建、读取、...
JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第2讲 JPA开发环境和思想介绍.avi
本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识;第三部分提供了一个JSF+EJB 3+ JPA整合开发的项目:电子拍卖...
JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第3讲 搭建JPA开发环境和全局事务介绍.avi
JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第17讲 介绍及开发环境搭建.avi
**JPA开发实例**通常包含以下几个关键部分: 1. **实体(Entities)**:实体是JPA中的核心概念,代表数据库中的表。它们是带有特定注解的Java类,如`@Entity`表示这是一个数据库表,`@Table`定义表名,`@Id`标识...
本书内容主要包括三部分,第一部分介绍Java EE开发的基础知识,以及如何搭建开发环境;第二部分详细讲解了JSF RI、EJB 3的Session Bean等Java EE知识;第三部分提供了一个JSF+EJB 3+ JPA整合开发的项目:电子拍卖...
在本压缩包中,包含的是用于开发JPA应用的全部jar包,这些jar包是最新且稳定版本的,旨在为开发者提供一个高效且可靠的开发环境。 1. **JPA核心组件**:JPA的核心组件包括`javax.persistence.*`相关的jar包,这些...
**JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用中存储、检索和管理对象的...理解并熟练掌握JPA的环境搭建和基本操作,将极大地提高你的Java后端开发效率。
本文将深入探讨如何在基于JDK8、IntelliJ IDEA、Maven和MySQL 5.6的开发环境中,进行Spring Boot与JPA的整合开发。 **一、环境配置** 1. **JDK8**: 作为基础运行环境,JDK8引入了许多新特性,如Lambda表达式、...
JPA的目标是简化持久化层的开发,通过ORM(Object-Relational Mapping)技术将Java对象与数据库表进行映射,从而降低了数据访问的复杂性。 1. **JDBC**:Java Database Connectivity,是Java连接数据库的标准API,...
总结来说,这个SSH+JPA基础环境提供了一个完整的开发起点,包括了前端展示、后端逻辑处理、数据持久化以及数据库管理的各个层面。开发者可以快速导入项目,运行测试,然后在此基础上进行业务逻辑的开发,大大提高了...