Spring学习历程---Hibernate访问数据库可脱离事务管理器

本文探讨了Spring中的JdbcTemplate在执行SQL时不需事务管理,而Hibernate则不同,它在commit或flush时才会发送SQL,因此在无事务管理器情况下,Hibernate的事务管理仍有其价值。不过,即使不使用Spring的事务管理器,Hibernate仍然可以在Spring环境中正常工作。
摘要由CSDN通过智能技术生成

JdbcTemplate执行的语句马上提交,没有事务,所以没有必要在Spring应用中配置事务管理器,因为即使配置了,也没有用。

对于Hibernate而言,情况便有不同,因为hibernate并不会立刻发送SQL语句,只在commit 或 flush 一级缓存时,才真正的向数据库发送语句。

所以,即使底层数据库不支持事务,Hibernate的事务管理也是有一定好处的,不会对数据操作产生负面影响。

但是,不使用Hibernate事务管理器,在Spring中,Hibernate照样可以工作。

User.java

package com.baobaotao;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Column;
import javax.persistence.Id;
import java.lang.reflect.Field;
import java.io.Serializable;

/**
 * @author 陈雄华
 * @version 1.0
 */
@Entity
@Table(name="T_USER")
public class User implements Serializable{
    @Id
    @Column(name = "USER_NAME")
    private String userName;

    private String password;

    private int score;

    @Column(name = "LAST_LOGON_TIME")
    private long lastLogonTime = 0;


    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值