`
chengyue2007
  • 浏览: 1493311 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

spring+JPA 事务管理

    博客分类:
  • JPA
阅读更多

在使用Spring提供的JpaDaoSupport提供的支持时的事务配置问题:

1.applicationContext.xml文件的配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:tx="http://www.springframework.org/schema/tx"
 xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

 <bean id="entityManagerFactory"
  class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
  <property name="persistenceUnitName" value="testjpaPU" />
  <property name="jpaVendorAdapter">
   <bean
    class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="showSql" value="true"></property>
    <property name="generateDdl" value="true"></property>
   </bean>
  </property>
 </bean>
 <bean id="transactionManager"
  class="org.springframework.orm.jpa.JpaTransactionManager">
  <property name="entityManagerFactory"
   ref="entityManagerFactory" />
 </bean>
 <aop:config>
  <aop:pointcut id="crudMethos"
   expression_r="execution(* com.testjpa.service.impl.*.*(..))" />

<!-- 第一个*号代表可以是任意返回类型,第二个*代表包下的所有类,第三个*代表类下的所有方法,之后的(..)代表任意的参数 -->
  <aop:advisor advice-ref="txAdvice" pointcut-ref="crudMethos" />
 </aop:config>
 <tx:annotation-driven transaction-manager="transactionManager" />
 <tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <tx:method name="add*" propagation="REQUIRED" />
   <tx:method name="edit*" propagation="REQUIRED" />
   <tx:method name="delete*" propagation="REQUIRED" />
   <tx:method name="*" read-only="true"/>
  </tx:attributes>
 </tx:advice>
 <bean id="studentDao" class="com.testjpa.dao.impl.StudentDaoImpl">
  <property name="entityManagerFactory">
   <ref bean="entityManagerFactory" />
  </property>
 </bean>
 <bean id="studentService"
  class="com.testjpa.service.impl.StudentServiceImpl">
  <property name="dao">
   <ref bean="studentDao" />
  </property>
 </bean>
</beans>

 

 

 

 

2.持久单位persistence.xml

 

<?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="testjpaPU"
  transaction-type="RESOURCE_LOCAL">
  <provider>org.hibernate.ejb.HibernatePersistence</provider>
  <class>com.testjpa.bean.Stu</class>
  <properties>
   <property name="hibernate.connection.driver_class"
    value="com.mysql.jdbc.Driver" />
   <property name="hibernate.connection.url"
    value="jdbc:mysql://localhost:3306/blog" />
   <property name="hibernate.connection.username" value="root" />
   <property name="hibernate.connection.password" value="root" />
  </properties>
 </persistence-unit>

</persistence>

 

分享到:
评论
1 楼 wangchaoyong 2012-02-21  
刚好用上,学习了,谢谢!

相关推荐

    基于_Struts_2+Spring+JPA_框架的WEB_应用

    通过这种整合,开发者可以利用Struts 2的强大会话管理和视图渲染能力,Spring的全面服务管理,以及JPA的高效数据持久化,创建出结构清晰、易于维护的Java Web应用程序。在实际开发中,还需要注意性能优化、异常处理...

    Spring+Jersey+JPA+Hibernate+MySQL整合

    在本案例中,JPA是通过Spring JPA模块进行使用的,它简化了数据访问和事务管理。 Hibernate是JPA的一个流行实现,它提供了一套强大的ORM工具。Hibernate不仅实现了JPA规范,还提供了一些额外的功能,如二级缓存和...

    Struts+spring+JPA例子

    项目运行后,你可以通过Struts2的配置来访问不同的功能,Spring会管理所有bean的生命周期和依赖,而JPA则负责数据库的CRUD操作。这将帮助你理解这三个框架如何协作,以及如何在实际项目中应用它们。 总的来说,这个...

    spring+springMVC+jpa+hibernate框架整合

    首先,Spring框架是一个全面的企业级应用开发框架,它提供了依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)和大量的企业服务,如数据访问、事务管理等。Spring4.0.1版本...

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    Spring是Java应用开发的核心框架,提供了一系列丰富的功能,如依赖注入(DI)、面向切面编程(AOP)、事务管理等。Spring框架允许开发者编写松耦合的代码,提高了可测试性和可维护性。Spring MVC是Spring框架的一...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    Hibernate提供了事务管理、缓存机制和一对多、多对一等复杂关系的处理。在项目中,我们需要配置Hibernate的实体类、实体管理工厂以及数据源。 FreeMarker是一个用Java编写的模板引擎,用于生成动态内容。在Web应用...

    SpringMVC+Spring+JPA+Maven框架搭建

    - applicationContext.xml:配置Spring的JPA管理器和事务管理,声明JPA扫描目录。 - dispatcherContext-servlet.xml:SpringMVC配置文件,声明视图解析器等信息。 - Log4j.properties:Log4j日志记录配置文件,...

    jsf+spring+jpa

    - **事务管理**:Spring提供了一套灵活的事务管理机制,简化了事务的处理流程。 #### 四、JPA与Hibernate Java Persistence API (JPA) 是Java平台上的一种标准持久化规范,它提供了一种对象关系映射(ORM)方法,将...

    spring注解+spring data jpa文档+JPA文档.rar

    "JPA2.0官方文档"则深入讲解了JPA规范的各个方面,包括实体管理、查询、事务和并发控制等。 综上所述,这些文档是学习和精通Spring框架、Spring Data JPA以及JPA的宝贵资源,适合Java开发者尤其是从事企业级应用...

    Struts+Spring+Jpa(hibernate)整合

    Struts、Spring 和 Hibernate 是Java Web开发中的三大框架,它们分别负责不同的职责:Struts用于控制应用程序的流程,Spring提供全面的依赖注入和事务管理,而Hibernate则专注于对象关系映射(ORM),使得数据库操作...

    Struct + spring + jpa

    Spring还包含了一个用于事务管理的模块,支持多种数据源,如JDBC、Hibernate和JPA。Spring MVC是Spring框架的一部分,它提供了一个更现代的MVC实现,相比Struts,Spring MVC更加灵活和可扩展。 **JPA** 是Java EE...

    spring struct + jpa

    2. **事务管理**:Spring的声明式事务管理可以自动处理事务的开始、提交、回滚,确保数据库操作的原子性和一致性。 3. **异常翻译**:Spring Data JPA将底层的JPA异常转换为Spring的DataAccessException,使得错误...

    spring+jpa+atomikos多数据源

    6. 配置Spring:在Spring的配置文件中启用事务管理,设置数据源和事务管理器。 在实际项目中,"jpatest"可能是一个包含测试代码的目录或者模块,用于验证多数据源配置和Atomikos事务管理是否正常工作。测试通常会...

    CRM营销系统 spring+springmvc+springdatajpa+jsp+maven

    在CRM系统中,Spring可能被用来管理对象的生命周期,提供事务管理,并且作为其他组件如SpringMVC和SpringDataJPA的基础。 2. SpringMVC:SpringMVC是Spring框架的一部分,专门用于处理Web请求。它负责接收HTTP请求...

    spring+springmvc+jpa零配置注解开发

    在传统的Spring应用中,开发者需要在大量的XML配置文件中定义bean、数据源、事务管理器等。然而,随着Spring的发展,它引入了基于注解的配置,使得我们可以完全摆脱XML,仅通过类上的注解就能完成配置。例如,我们...

    SpringBoot+JPA

    SpringBoot默认使用 declarative transaction management(声明式事务管理),只需在需要事务的方法上加上`@Transactional`注解,事务管理就能自动进行。 8. **多数据源支持** 虽然SpringBoot默认支持单个数据源...

    Struts2 + Spring + Jpa

    在S2SH/S2SJ架构中,JPA与Spring的集成使得我们可以方便地管理数据库连接,执行CRUD操作,并且Spring的事务管理能够确保数据操作的一致性。 在实际项目中,"ssh3"可能是指Struts2、Spring和Hibernate的版本或者组合...

    Struts2+Spring+JPA实例

    Spring还能通过AOP来定义切面,例如事务管理,可以在全局范围内控制事务的开始、提交、回滚。 3. **JPA**:JPA的配置主要包括实体类的定义、数据源的配置以及持久化单元的设置。实体类通过`@Entity`注解标识,属性...

    Spring + JPA + Hibernate配置

    在实际项目中,集成Spring、JPA和Hibernate时,开发者需要配置Spring的XML或Java配置文件,声明数据源、事务管理器以及JPA的实体扫描路径。同时,还需要配置Hibernate的相关属性,比如连接池、方言等。此外,可能还...

    struts2+spring+jpa小例子

    此外,Spring 还提供了 AOP 功能,允许我们在不修改原有代码的情况下添加横切关注点,如日志、事务管理等。在这个例子中,我们可能能看到 Spring 的 XML 配置文件(如 applicationContext.xml),其中定义了 bean 的...

Global site tag (gtag.js) - Google Analytics