原文:https://blog.csdn.net/yzk2356911358/article/details/55803924
原理:因为配置openSessionInView时,启动后他默认是给没有配置事务边界的方法都默认为只读的,所以在插入数据会报这个只读错误。
解决: Dao层HibernateTemplate操作数据时,使用execute方法回调方式实现,如下:
原方式:getHibernateTemplate().save(user);
更改后方式:getHibernateTemplate().execute(new HibernateCallback<User>() {
@Override
public User doInHibernate(Session session) throws HibernateException {
session.save(user);
return null;
}