java hibernate事务处理_请问Hibernate的事务操作有没有提供回调事件啊?

(一)支持interceptor、event listener、jpa callback

1、interceptor,可以参考hibernate-core-5.0.12.Final-sources.jar!/org/hibernate/EmptyInterceptor.java

有onSaveonDeleteonLoadfindDirtypreFlushpostFlush等

2、event listener

查看AbstractReassociateEventListener的子类

3、jpa callback

支持@PrePersist,@PreRemove,@PostPersist,@PostRemove,@PreUpdate,@PostUpdate,@PostLoad

详情见hibernate-user-guide

(二)对于事务的回调

可以使用registerSynchronization方法,注册TransactionSynchronizationAdapter的子类,重新想要的方法,比如

public void beforeCommit(boolean readOnly) {

}

public void beforeCompletion() {

}

public void afterCommit() {

}

public void afterCompletion(int status) {

}

其中status为

/** Completion status in case of proper commit */

int STATUS_COMMITTED = 0;

/** Completion status in case of proper rollback */

int STATUS_ROLLED_BACK = 1;

/** Completion status in case of heuristic mixed completion or system errors */

int STATUS_UNKNOWN = 2;

(三)针对是否操作成功

不抛异常,一般就是成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值