`
wjjbfq
  • 浏览: 82184 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JPA小结

    博客分类:
  • JPA
阅读更多

      JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate、TopLink等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。

 

      JPA不是一种新的ORM框架,他的出现只是用于规范现有的ORM技术,他不能取代现有的Hibernate、TopLink等ORM框架。相反,在采用JPA开发时,我们仍将使用到这些ORM框架,只是此时开发出来的应用不再依赖于某个持久化提供商。应用可以在不修改代码的情况下在任何JPA环境下运行,真正做到低耦合,可扩展的程序设计。

开发jpa依赖的包:

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

Hiberante注解包(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

 

 配置文件:persistence.xml

JPA规范要求在类路径的META-INF目录下放置persistence.xml,文件的名称是固定的,配置模版如下:
<?xml version="1.0"?>
<persistence xmlns="http://java.sun.com/xml/ns/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_1_0.xsd" version="1.0">
  <persistence-unit name="wangjie" transaction-type="RESOURCE_LOCAL"><!--使用本地事务 -->
      <properties>
         <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
         <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
         <property name="hibernate.connection.username" value="root"/>
         <property name="hibernate.connection.password" value="root"/>
         <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/wangjie?useUnicode=true&amp;characterEncoding=UTF-8"/>
         <property name="hibernate.hbm2ddl.auto" value="update"/>
      </properties>
  </persistence-unit>
</persistence>

 

调用方法和hibernate的类似:

Persistence为sun的接口,这些框架只是实现了sun的接口规范而已。

EntityManagerFactory factory = Persistence.createEntityManagerFactory("wangjie");
		EntityManager em = factory.createEntityManager();
		em.getTransaction().begin();
em.persist();//保存
em.merge()//更新
em.refresh()//刷新
em.remove()//删除
		em.getTransaction().commit();
		em.close();
		factory.close();

 

下面是JPA使用toplink框架

1、导包:toplink-essentials.jar toplink-essentials-agent.jar 两个包 当然还要导入数据库的包

2、改persistence.xml 文件

<?xml version="1.0"?>
<persistence xmlns="http://java.sun.com/xml/ns/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_1_0.xsd" version="1.0">
  <persistence-unit name="wangjie" transaction-type="RESOURCE_LOCAL">
   <provider>oracle.toplink.essentials.PersistenceProvider</provider>
    <class>cn.itcast.bean.AirLine</class> 
    <class>cn.itcast.bean.AirLinePK</class>
	<properties>
	    <property name="toplink.logging.level" value="FINE"/>
	    <property name="toplink.ddl-generation" value="create-tables"/>
	    <property name="toplink.target-database"  value="Auto"/>
		<property name="toplink.jdbc.driver" value="org.gjt.mm.mysql.Driver"/>		
		<property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/itcast?useUnicode=true&amp;characterEncoding=UTF-8"/>
		<property name="toplink.jdbc.user" value="root"/>
		<property name="toplink.jdbc.password" value="123456"/>		
	</properties> 
	</persistence-unit>
</persistence>

 

3、用法不变

分享到:
评论

相关推荐

    JPA学习笔记-EJB-03JPA主键生成策略总结

    #### 三、小结 以上介绍的是JPA中单字段主键生成的基本策略。每种策略都有其适用场景和优缺点。开发者应根据具体的应用需求和数据库特性选择最适合的生成方式。例如,在性能要求较高的场景下可以选择`IDENTITY`或`...

    spring data jpa 连接mysql8.x的一些问题梳理总结.docx

    小结 在使用 Spring Data JPA 连接 MySQL 8.x 时,需要注意环境变量的配置、数据库连接信息的配置、时区的配置、useSSL 的配置、JDBC 版本的配置等。同时,需要正确地配置方言设置,以避免出现问题。

    详述 Spring Data JPA 的那些事.docx

    "Spring Data JPA知识点详解" ...小结 Spring Data JPA是一种基于JPA的数据访问技术,它提供了一种简洁的方式来访问关系数据库。使用Spring Data JPA可以简化数据库操作,提高开发效率和可读性。

    springboot+dubbo+zookeeper+JPA步骤

    #### 四、小结 通过以上步骤,我们可以构建一个基于 Spring Boot、Dubbo、ZooKeeper 和 JPA 的微服务架构。这种架构不仅具备良好的可扩展性,而且能够很好地应对分布式系统的复杂度。在实际开发中,我们还需要结合...

    Spring-data-jpa 学习笔记.docx

    #### 六、本文小结 Spring Data JPA 大大简化了 JPA 的使用方式,使得开发者能够更高效地进行数据访问层的开发。通过遵循约定优于配置的原则,减少了大量模板代码的编写,提高了开发效率。 #### 第二篇 在第二篇...

    Spring Boot + Jpa(Hibernate) 架构基本配置详解

    小结 本文总结了 Spring Boot + Jpa(Hibernate) 架构基本配置的知识点,包括 Spring Boot 和 Jpa(Hibernate) 的简介、配置和 Maven 依赖项的添加。通过本文,读者可以了解如何使用 Spring Boot 和 Jpa(Hibernate) ...

    JPA+Spring2.0+EasyJWeb技术构架在企业级系统中的应用.ppt

    目录 企业级应用的特点 JPA及JPA使用技巧 使用泛型DAO来简化DAO层的开发 IOC容器、AOP及Spring2 EasyJWeb如何实现快速开发 小结

    图解BEA Workshop Studio 3.3开发JSF+Spring+JPA(Hibernate)Web应用

    #### 六、小结 通过以上步骤,我们已经完成了使用BEA Workshop Studio 3.3搭建基于JSF+Spring+JPA(Hibernate)的Web应用的基本设置。此IDE的强大之处在于它内置了大量的插件与向导,极大地简化了开发过程,尤其是...

    SpringBoot整合JPA的实例代码

    八、小结 本篇文章主要介绍了SpringBoot整合JPA的实例代码,使用Hibernate作为JPA Provider,实现了数据持久化和查询等功能。通过本篇文章,可以了解如何使用JPA在SpringBoot项目中实现数据持久化。

    JAVA WEB典型模块与项目实战大全

    1.5 小结  第2章 myedipse开发工具对各种框架的支持  2.1 使用jsp的两种模式  2.2 struts框架的实现  2.3 hibernate框架的实现  2.4 jpa框架的实现  2.5 spring框架的实现  2.6 jsf框架的实现  2.7...

    javaSE与javaEE基础部分小结

    ### JavaSE与JavaEE基础部分小结 #### JavaSE 基础知识点 ##### Java语言特点 1. **跨平台性**:Java的核心优势之一在于它的可移植性,即“一次编写,处处运行”。这意味着Java程序可以在任何安装了Java运行环境...

    EJB3.0注释小结

    13. **JPA生命周期回调注解**:如`@PostLoad`、`@PrePersist`、`@PostPersist`、`@PreUpdate`、`@PostUpdate`、`@PreRemove`和`@PostRemove`,这些注解提供了在特定实体生命周期事件发生时执行自定义逻辑的机会。...

    Hibernate实战(第2版 中文高清版)

     1.5 小结   第2章 启动项目   2.1 启动Hibernate项目   2.1.1 选择开发过程   2.1.2 建立项目   2.1.3 Hibernate配置和启动   2.1.4 运行和测试应用程序   2.2 启动Java Persistence项目   2.2.1 ...

    J2EE应用开发详解

    294 16.3.5 数据库连接池中使用JDBC 297 16.4 小结 302 第17章 ORM与Java持久化机制 303 17.1 ORM概述 303 17.2 域模型 304 17.3 实体域对象的持久化模式 304 17.4 JPA 305 17.4.1 实体 306 17.4.2 EntityManager ...

    Java测试新技术TestNG和高级概念.part1

    1.5 本章小结 第2章 测试设计模式 2.1 针对失败而测试 2.2 工厂 2.3 数据驱动测试 2.4 异步测试 2.5 测试多线程代码 2.6 性能测试 2.7 模拟和桩 2.8 依赖的测试 2.9 继承和annotation范围 2.10 测试分组 2.11 ...

    Java测试新技术TestNG和高级概念.part2

    1.5 本章小结 第2章 测试设计模式 2.1 针对失败而测试 2.2 工厂 2.3 数据驱动测试 2.4 异步测试 2.5 测试多线程代码 2.6 性能测试 2.7 模拟和桩 2.8 依赖的测试 2.9 继承和annotation范围 2.10 测试分组 2.11 ...

    Struts2 in action中文版

    第一部分 Strut 2:一个全新的框架 第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 ...15.7 小结 332

    Spring in Action(第2版)中文版

    目录 第一部分spring的核心 第1章开始spring之旅 1.1spring是什么 1.2开始spring之旅 1.3理解依赖注入 ...1.5小结 ...2.6小结 ...3.7小结 ...4.6小结 ...5.5.1使用jpa模板 ...5.5.3建立使用jpa的dao ...5.8小结 ...b.4小结

Global site tag (gtag.js) - Google Analytics