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概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...
以上就是JavaEE学习笔记中可能涵盖的关键知识点,它们构成了JavaEE开发的基础,并且每个部分都有深入研究的价值。通过学习和实践这些技术,开发者能够构建出高效、稳定和可扩展的企业级Web应用。
"javaee思维导图版笔记-吉林大学" 本笔记主要涵盖了Java EE的基础知识,包括Servlet、JSP、JNDI、JPA等方面的内容。 一、Servlet概述 Servlet是Java EE中的一种服务器端组件,用于处理HTTP请求并返回响应。...
### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...
本"JavaEE2017最新版基础班学习笔记"涵盖了JavaEE入门所需的基本概念和技术,是新手学习JavaEE的良好参考资料。以下将详细介绍其中可能涉及的关键知识点: 1. **Servlet与JSP**:Servlet是JavaEE中处理HTTP请求的...
JSF的优点包括强大的MVC架构、内置的事件处理机制、丰富的UI组件库以及与EJB和JPA等JavaEE组件的紧密集成。然而,它的学习曲线相对较陡峭,配置相对复杂,尤其是早期版本。此外,尽管JSF提供了数据验证和转换功能,...
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...
这个"Javaee课堂笔记精华总结就业必备"显然是一份针对求职者或初入职场的开发者准备的学习材料,旨在帮助他们掌握JavaEE的核心概念和技术,以提升就业竞争力。 JavaEE平台包括一组服务、APIs和协议,用于构建分布式...
"达内javaSE,javaEE个人学习所有基础笔记"是一个针对初学者的全面学习资源,涵盖了从Java Standard Edition (Java SE)的基础知识到Java Enterprise Edition (Java EE)的高级概念。 Java SE是Java的核心部分,它...
6. **JPA(Java Persistence API)**:JPA是JavaEE提供的ORM(Object-Relational Mapping)规范,简化了Java应用与数据库之间的对象关系映射,替代了传统的EJB实体Bean。 7. **JSF(JavaServer Faces)**:JSF是一...
"javaee"目录下的内容将引导你学习Servlet、JSP、JavaMail、JPA、EJB等技术,以及如何在实际项目中进行企业级应用的开发和部署。 【理论基础】 "理论基础"部分涵盖了计算机科学的基本概念,如数据结构、算法分析、...
【标题】:“北京圣思园java课堂笔记 (javaSE和javaee)” 提供了全面的Java学习资源,涵盖了从基础的Java Standard Edition (javaSE)到进阶的Java Enterprise Edition (javaEE)的相关知识。 【描述】:“北京圣思园...
4. **EJB**:EJB是JavaEE中的企业级组件,用于处理分布式计算和事务管理,提供服务如会话bean、消息驱动bean等。 5. **Spring框架**:Spring是JavaEE开发中最流行的框架之一,它提供了依赖注入、AOP(面向切面编程...
- `javaee` 文件夹可能包含Java企业版的相关教程,涵盖了Servlet、JSP、JavaMail、EJB、JMS、JNDI、JPA、Spring框架、Hibernate等企业级应用开发技术。 4. **Web前端资源**: - `index.html` 和 `README.md` 可能...