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

2018-07-24 15:56:17 +08:00
 mm841318078
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.
1739 次点击
所在节点    Java
2 条回复
mm841318078
2018-07-24 16:17:09 +08:00
高分悬赏!
taimeihao136
2018-07-27 17:31:22 +08:00
调用方法前加上这段试试。
this.getHibernateTemplate().getSessionFactory().getCurrentSession().setHibernateFlushMode(FlushMode.AUTO);

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/473712

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX