zoukankan      html  css  js  c++  java
  • Spring 与 Hibernate 集成 Transactional设置为只读

    @Transactional标签用于标记ServiceImpl使用事务,并且能够打开一个sessionFactory的session,并且打开事务。

    如果在这个标签为@Transactional(propagation = Propagation.NOT_SUPPORTED),就不打开session了,自然也不会打开事务,你要自己打开并且维护它,关闭session,在session范围内更改了对象的值,他也不会相应的更新到数据库中(前提是你没有打开事务)。

    @Service
    @Transactional
    public class MMCommentServiceImpl implements MMCommentService {
        @Resource
        private SessionFactory sessionFactory;
    
        //设置只读
        @Transactional(propagation = Propagation.NOT_SUPPORTED)
        @Override
        public List<MMComment> getCommentList(int id) {
            Session session =  sessionFactory.openSession();
            List<MMComment> list =session
                    .createQuery("from MMComment where image.id = :id order by zan desc")
                    .setMaxResults(8)//最多取几条,热门的
                    .setInteger("id", id)
                    .list();
            session.close();
            return list;
        }
    
    }
  • 相关阅读:
    可爱精灵宝贝 DP/爆搜
    那些年留的坑
    吃某种零食ing
    NOIP模拟测试13
    NOIP模拟测试12
    NOIP模拟测试11
    大佬 (数学)
    BZOJ3331 BZOJ2013 压力
    LOJ2586 APIO2018 选圆圈
    BZOJ3398 牡牛和牝牛
  • 原文地址:https://www.cnblogs.com/wuyou/p/3687283.html
Copyright © 2011-2022 走看看