V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mm841318078
V2EX  ›  Java

ssh 整合, 必须要配事务管理吗?

  •  1
     
  •   mm841318078 · 2018-07-24 15:56:17 +08:00 · 1913 次点击
    这是一个创建于 2342 天前的主题,其中的信息可能已经有所发展或是发生改变。
    package dao;
    import java.util.List;
    import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
    import domain.User;

    public class UserDaoImpl extends HibernateDaoSupport implements IUserDao {
    @Override
    public void add(User user) {

    this.getHibernateTemplate().save(user);
    }
    @Override
    public void update(User user) {
    this.getHibernateTemplate().update(user);
    }

    @Override
    public void del(User user) {
    this.getHibernateTemplate().delete(user);
    }
    @Override
    public User findById(int id) {
    return this.getHibernateTemplate().get(User.class,id);
    }

    @Override
    public List<User> findAll() {
    return (List<User>) this.getHibernateTemplate().find("from User");
    }
    }



    没有声明事务管理, 与切面会报这个错误! 查询也是如此.
    org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
    2 条回复    2018-07-27 17:31:23 +08:00
    mm841318078
        1
    mm841318078  
    OP
       2018-07-24 16:17:09 +08:00
    高分悬赏!
    taimeihao136
        2
    taimeihao136  
       2018-07-27 17:31:22 +08:00
    调用方法前加上这段试试。
    this.getHibernateTemplate().getSessionFactory().getCurrentSession().setHibernateFlushMode(FlushMode.AUTO);
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2558 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:43 · PVG 18:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.