hibernate主配置文件中指定session与当前线程绑定

配置一条属性

<property name="hibernate.current_session_context_class">thread</property>

 

 

dao层 (以下代码仅是演示)

1
2
3
4
5
6
7
8
9
10
11
public class CustomerDaoImp implements CustomerDao {
 
    @Override
    public void save(Customer customer) {
        //1.获取当前线程绑定的session
        Session session = HibernateUtils.getCurrentSession();
     
            //3.执行保存
        session.save(customer);
    }
}

 service层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class CustomerServiceImp implements CustomerService {
    private CustomerDao dao=new CustomerDaoImp();
    @Override
    public void save(Customer customer) {
                //获取当前线程绑定的session
        Session session = HibernateUtils.getCurrentSession();
        //开启事务
        Transaction tx = session.beginTransaction();
         
        try {
            dao.save(customer);
        } catch (Exception e) {
            e.printStackTrace();
            tx.rollback();
        }
        //提交事务
        tx.commit();
    }

 

posted @   青岑  阅读(660)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
主题色彩