V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
mm841318078
V2EX  ›  Java

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

  •  1
     
  •   mm841318078 · Jul 24, 2018 · 2572 views
    This topic created in 2840 days ago, the information mentioned may be changed or developed.
    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 replies    2018-07-27 17:31:23 +08:00
    mm841318078
        1
    mm841318078  
    OP
       Jul 24, 2018
    高分悬赏!
    taimeihao136
        2
    taimeihao136  
       Jul 27, 2018
    调用方法前加上这段试试。
    this.getHibernateTemplate().getSessionFactory().getCurrentSession().setHibernateFlushMode(FlushMode.AUTO);
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   826 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 22:35 · PVG 06:35 · LAX 15:35 · JFK 18:35
    ♥ Do have faith in what you're doing.