`
suhuanzheng7784877
  • 浏览: 702485 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47708
社区版块
存档分类
最新评论

JavaEE5学习笔记08-JPA与EJB集成总结(4)

阅读更多

1.       JavaEE容器中使用JPA和不在JavaEE容器中使用JPA的区别

1):首先在JavaEE容器中使用JPA不必在自己的项目中再加入JPA实现的jar包了,因为在应用服务器中已经含有实现JPA标准的jar包了,所以您的项目不必加入了。而如果项目不是在JavaEE容器中跑的话(比如轻量级的Spring+JPA+Hibernate实现),就得自己加入JPA实现的jar包了。

2):第二个就是/META-INF/persistence.xml文件的书写,在JavaEE容器中运行的项目不必显示的写出JPA的实现者——provider,因为在使用应用服务器的过程中,服务器底层已经自己默认使用了某些框架实现了JPA标准。当然,一些特殊属性——property为了运行时环境的移植性,一般在开发阶段不会指定实现者的特殊属性。除非项目的需求已经决定了,应用服务器不会发生变动,想让JPA执行的更有效率,而且开发人员本身已经十分清楚该应用服务器底层的JPA实现框架,指定property属性也是可以的。

3):事务的类型,一般在JavaEE容器中执行事务类型为JTA,到写代码的时候再确定到底是CMT还是BMT。如果在其他容器,比如Spring管理的时候,通常会采用RESOURCE_LOCAL,将事务交给Spring这个本地的局部容器去管理事务。

以下是2种情况的persistence.xml文件内容

JavaEE容器实现JPA

<?xml version="1.0" encoding="UTF-8"?>

<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="JavaEE4JbossPU"

       transaction-type="JTA">

       <jta-data-source>java:/jbossdemo</jta-data-source>

       <class>jpa.vo.Person</class>

    </persistence-unit>

 

</persistence>

JavaEE容器实现JPA

<?xml version="1.0" encoding="UTF-8"?>

<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="ApplicationNewWebPU"

       transaction-type="RESOURCE_LOCAL">

       <provider>org.hibernate.ejb.HibernatePersistence</provider>

       <properties>

           <!--不用Spring的数据源连接池的时候打开以下代码-->

           <!--

              <property name="hibernate.connection.driver_class"

              value="com.mysql.jdbc.Driver" /> <property

              name="hibernate.connection.url"

              value="jdbc:mysql://127.0.0.1:3306/ejbjpa" /> <property

              name="hibernate.connection.username" value="root" /> <property

              name="hibernate.connection.password" value="root" />

           -->

 

           <!-- Hibernate 方言(只有Hibernate 才需要设置) -->

           <property name="hibernate.dialect"

              value="org.hibernate.dialect.MySQLDialect" />

           <!-- Hibernate 显示调试 SQL -->

           <property name="hibernate.show_sql" value="true" />

           <!-- Hibernate 缓存设置(默认可不设置) -->

           <!--

              <property name="hibernate.cache.provider_class"

              value="org.hibernate.cache.NoCacheProvider" />

           -->

           <!-- Hibernate 格式化sql -->

           <property name="hibernate.format_sql" value="true" />

           <property name="hibernate.hbm2ddl.auto" value="update" />

       </properties>

    </persistence-unit>

</persistence>

分享到:
评论

相关推荐

    JavaEE5学习笔记01-JTA和数据库事务

    ### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...

    javaEE学习笔记

    以上就是JavaEE学习笔记中可能涵盖的关键知识点,它们构成了JavaEE开发的基础,并且每个部分都有深入研究的价值。通过学习和实践这些技术,开发者能够构建出高效、稳定和可扩展的企业级Web应用。

    javaee思维导图版笔记-吉林大学

    "javaee思维导图版笔记-吉林大学" 本笔记主要涵盖了Java EE的基础知识,包括Servlet、JSP、JNDI、JPA等方面的内容。 一、Servlet概述 Servlet是Java EE中的一种服务器端组件,用于处理HTTP请求并返回响应。...

    JavaEE学习笔记

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...

    JavaEE2017最新版基础班学习笔记

    本"JavaEE2017最新版基础班学习笔记"涵盖了JavaEE入门所需的基本概念和技术,是新手学习JavaEE的良好参考资料。以下将详细介绍其中可能涉及的关键知识点: 1. **Servlet与JSP**:Servlet是JavaEE中处理HTTP请求的...

    JavaEE5实战笔记04JSF的一些补充

    JSF的优点包括强大的MVC架构、内置的事件处理机制、丰富的UI组件库以及与EJB和JPA等JavaEE组件的紧密集成。然而,它的学习曲线相对较陡峭,配置相对复杂,尤其是早期版本。此外,尽管JSF提供了数据验证和转换功能,...

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    Javaee课堂笔记精华总结就业必备

    这个"Javaee课堂笔记精华总结就业必备"显然是一份针对求职者或初入职场的开发者准备的学习材料,旨在帮助他们掌握JavaEE的核心概念和技术,以提升就业竞争力。 JavaEE平台包括一组服务、APIs和协议,用于构建分布式...

    达内javaSE,javaEE个人学习所有基础笔记

    "达内javaSE,javaEE个人学习所有基础笔记"是一个针对初学者的全面学习资源,涵盖了从Java Standard Edition (Java SE)的基础知识到Java Enterprise Edition (Java EE)的高级概念。 Java SE是Java的核心部分,它...

    JavaEE基础笔记.zip

    6. **JPA(Java Persistence API)**:JPA是JavaEE提供的ORM(Object-Relational Mapping)规范,简化了Java应用与数据库之间的对象关系映射,替代了传统的EJB实体Bean。 7. **JSF(JavaServer Faces)**:JSF是一...

    《IT学习资料3》-Java 学习笔记.zip

    "javaee"目录下的内容将引导你学习Servlet、JSP、JavaMail、JPA、EJB等技术,以及如何在实际项目中进行企业级应用的开发和部署。 【理论基础】 "理论基础"部分涵盖了计算机科学的基本概念,如数据结构、算法分析、...

    北京圣思园java课堂笔记 (javaSE和javaee)

    【标题】:“北京圣思园java课堂笔记 (javaSE和javaee)” 提供了全面的Java学习资源,涵盖了从基础的Java Standard Edition (javaSE)到进阶的Java Enterprise Edition (javaEE)的相关知识。 【描述】:“北京圣思园...

    学习JavaEE的day26

    4. **EJB**:EJB是JavaEE中的企业级组件,用于处理分布式计算和事务管理,提供服务如会话bean、消息驱动bean等。 5. **Spring框架**:Spring是JavaEE开发中最流行的框架之一,它提供了依赖注入、AOP(面向切面编程...

    《IT学习资料2》-Java 学习笔记.zip

    - `javaee` 文件夹可能包含Java企业版的相关教程,涵盖了Servlet、JSP、JavaMail、EJB、JMS、JNDI、JPA、Spring框架、Hibernate等企业级应用开发技术。 4. **Web前端资源**: - `index.html` 和 `README.md` 可能...

Global site tag (gtag.js) - Google Analytics