`
jsx112
  • 浏览: 314782 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

hibernate+spring 注解 对事务的一些信息

阅读更多

事务注解说明
@Transactional 类事务说明机制

@Transactional(noRollbackFor=RuntimeException.class) 方法事务说明
@TRacsactional(RollbackFor=Exception.class)
@Tracsactional(readOnly=true);
@Tracsactional(timeout=100)
@Tracsactional(isolation)数据库的隔离级别
{
    Read Uncommited:读取未提交的数据(会出现脏读 不可重复读 幻读)
    Read Cimmited:读已提交的数据(会出现不可重复读和幻读)
    Repeatable Read:可重复读(会出现幻读)
    Serializable:串行化
}

information
{
    脏读:一个事物读取到另外一个事物未提交的更新的数据
    不可重复读:在同一个事物中,多次读取同一个数据返回结果有所不同 就是后续的读取可以读到另外一个事物的已经提交的更新数据
    可重复读:在同一个事物多次读取数据时 能够保证所读取数据一样 也就是后读取的不能读到另外一个事物已经提交的数据
    幻读:一个事物读取到另外一个事物已经提交的更新的数据
}

针对查询方法
@Transactional(propagation=Propagation.NOT_SUPPORTED)针对某个方法不开启事务
@Transactional(propagation=Propagation.REQUIRED)默认的事务支持

Propagation.REQUIRED

Propagation.NOT_SUPPOKTED

Propagation.REQUIRESNEW

propagation.MANDATORY

Propagation.SUPPOKTS

Propagation.Never

Propagation.NESTED

XML配置事物

注解配置事物例子

public class Bean1{
    @Transaction(propagation=Propagation.Required)
    public void update(){
        executeUpdate(SQL);
    }
}

public class Bean2{
    @Transaction(propagation=Propagation.Required)
    public void update(){
        executeUpdate(SQL);
    }
}

public class TransactionExample {
    @Transaction(propagation=Propagation.Required)
    public void payment(){
        daoBean1.update();
        daoBean2.update();
    }
}

 

//事务传播属性
    @Transactional(propagation=Propagation.REQUIRED) //如果有事务,那么加入事
务,没有的话新建一个(不写的情况下)
    @Transactional(propagation=Propagation.NOT_SUPPORTED) //容器不为这个方法
开启事务
    @Transactional(propagation=Propagation.REQUIRES_NEW) //不管是否存在事务,
都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务
    @Transactional(propagation=Propagation.MANDATORY) //必须在一个已有的事务中
执行,否则抛出异常
    @Transactional(propagation=Propagation.NEVER) //必须在一个没有的事务中执
行,否则抛出异常(与Propagation.MANDATORY相反)
    @Transactional(propagation=Propagation.SUPPORTS) //如果其他bean调用这个方
法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.
    /*public void methodName(){
        update();//本类的修改方法 1
            otherBean.update();//调用其他类的修改方法
        update();//本类的修改方法 2
    }
    other失败了不会影响 本类的修改提交成功
    本类update的失败,other也失败
    */
@Transactional(propagation=Propagation.NESTED)

@Transactional (propagation =
Propagation.REQUIRED,readOnly=true) //readOnly=true只读,不能更新,删除

@Transactional (propagation = Propagation.REQUIRED,timeout=30)//设置超时时间

@Transactional (propagation =
Propagation.REQUIRED,isolation=Isolation.DEFAULT)//设置数据库隔离级别

分享到:
评论

相关推荐

    基于Struts2+hibernate+spring 注解开发的学生信息管理系统

    总结来说,这个"基于Struts2+hibernate+spring 注解开发的学生信息管理系统"是一个利用Java Web三大框架的典型应用,实现了学生信息的基本操作。通过优化前端设计,可以进一步提升系统的整体质量和用户体验。在实际...

    hibernate+spring注解例子

    这个"hibernate+spring注解例子"项目提供了一个实际的登录场景,帮助学习者更好地理解和运用这两个框架的注解特性。通过深入学习和实践,开发者能够提高开发效率,降低出错概率,为构建高效、稳定的Java应用程序打下...

    Struts2+Hibernate+Spring课件 张志峰版

    4. **Hibernate与Spring整合**:学习Spring的Hibernate模板或者JPA,实现对数据访问的进一步抽象和自动化。 5. **SSH整体集成**:理解如何将这三个框架整合在一起,实现请求的处理、业务逻辑的执行和数据的持久化。...

    struts+hibernate+spring注解整合

    在这个“struts+hibernate+spring注解整合”的主题中,我们将深入探讨如何利用注解来简化这三个框架的配置过程。 Struts 2 是一个基于MVC设计模式的Web应用框架,它的注解功能使得我们可以在Action类和方法上直接...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Spring还包含了数据访问抽象,如JDBC模板和DAO支持,以及对Hibernate的集成,方便在Spring环境中使用Hibernate。此外,Spring MVC是Spring提供的一个Web MVC框架,可以与Struts2协同工作,提供另一种实现MVC设计模式...

    Tapestry+Hibernate+spring

    最后,Spring 框架作为整个项目的粘合剂,提供了依赖注入机制,使得Tapestry和Hibernate的组件可以通过配置文件或注解来获取依赖,降低了组件间的耦合度。同时,Spring 还可能包含了AOP支持,用于实现如事务管理、...

    struts + hibernate + spring demo

    Struts、Hibernate和Spring是Java开发中的三大框架,它们各自负责不同的职责,组合起来可以构建出高效、松耦合的企业级应用。这个"Struts + Hibernate + Spring demo"是一个示例项目,展示了这三个框架如何协同工作...

    Java Web项目实例 本人手写用于管理自己每日计划的项目 SpringMvc+Hibernate+Spring 注解方式 使用FusionChart 源代码

    该项目采用了Spring MVC、Hibernate和Spring框架,利用注解方式进行编程,同时整合了FusionCharts图表库来展示数据。以下是对这个项目的关键知识点的详细解释: 1. **Spring MVC**:Spring MVC是Spring框架的一部分...

    Spring + Hibernate + Spring mvc +Ajax 整合

    Spring管理Hibernate SessionFactory,提供事务控制,并能通过声明式事务管理简化事务处理。此外,Spring还支持基于注解的Hibernate配置,使代码更加简洁。 Spring MVC与Ajax的结合则提高了用户体验。Ajax...

    struts+hibernate+spring新闻系统

    综上所述,"struts+hibernate+spring新闻系统"是一个结合了现代Java Web开发技术的实例,旨在提供一个功能齐全、易于维护的新闻信息发布平台。通过学习和实践这个系统,开发者可以深入理解SSH框架的集成与应用,提升...

    struts2+HIbernate+Spring整合所需jar包

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自在Web应用程序的不同层面上发挥作用,而将它们整合在一起,通常称为SSH(Struts2、Spring、Hibernate)或S2SH,可以构建出功能强大、结构清晰的企业级...

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...

    基于hibernate+spring+struts的学生选课系统

    Spring框架则提供了全面的后端服务支持,如事务管理、AOP(面向切面编程)、IoC( inversion of control,控制反转)等,它还能够与其他框架(如Hibernate)无缝集成。Struts是经典的MVC框架,负责处理HTTP请求,...

    SpringMVC+Spring+Hibernate+Oracle 实现图书管理(CRUD)

    在这个案例中,"SpringMVC+Spring+Hibernate+Oracle 实现图书管理(CRUD)"是一个使用了四大主流Java技术栈的项目,分别是SpringMVC作为前端控制器、Spring作为应用层框架、Hibernate作为持久层框架,以及Oracle作为...

    jsf+hibernate+spring集成案例

    在IT领域,JavaScript Server Faces(JSF)、Hibernate和Spring是三个非常重要的技术,它们分别用于构建用户界面、处理持久化和实现应用框架。本集成案例将深入探讨这三者的结合,帮助开发者理解如何在实际项目中...

    当当网struts+hibernate+spring

    在SSH中,Spring主要负责依赖注入,使得各个组件之间松耦合,同时它也提供了对Hibernate的集成,方便事务管理。 在"ssh_dang"这个项目中,我们可以期待看到以下内容: 1. Struts2的配置文件(struts.xml),定义了...

    图书管理系统(struts+hibernate+spring)

    hibernate.cfg.xml文件配置了数据库连接信息,实体类通过注解或XML映射文件与数据库表关联。 **项目结构分析**: 这个项目的文件结构通常包括以下几个部分: 1. **源代码目录**:包含了各层的Java源代码,如模型...

    在线音乐网站(Struts2+hibernate+spring)

    【标题】"在线音乐网站(Struts2+hibernate+spring)" 是一个基于Java技术栈构建的Web应用程序,旨在提供音乐流媒体服务。这个项目整合了三个关键的开源框架:Struts2、Hibernate和Spring,它们在Java Web开发中扮演...

    java+hibernate+spring

    此外,Spring还提供了对Hibernate的JPA(Java Persistence API)支持,使得开发者可以选择使用更高级别的抽象来操作数据。 在描述中提到的"例子"可能是一个包含配置文件、实体类、DAO(Data Access Object)层、...

    Struts+Hibernate+Spring面试题合集及答案常见题目经典精选汇总大全.docx

    - Spring事务管理可以通过编程式和声明式两种方式实现,声明式事务管理通常结合注解或XML配置完成。 - Spring AOP允许在不修改代码的情况下添加功能,如日志、事务管理等,通过定义切点和通知来实现。 4. 综合...

Global site tag (gtag.js) - Google Analytics