hibernate4的方言与事务问题
最近做了个学习框架springMVC+hibernate4
因为spring3.x之后建议使用hibernate自己的session管理
所以在sessionFactory配置时使用了
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
摒弃了原来的spring templete 获取方式。
直接在需要的DAO层开放session
Session session = sessionFactory.openSession();
其中配置了方言
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
但是session.persist(bo);此方法却不能如愿的新建数据,麻烦大神指导下问题 感激不尽。
事务问题:
我在dao层的一个方法前添加:
@Transactional(readOnly=false)
public void executeSQL(String sql){
并在
baseDao.executeSQL(sql);
throw new RecoverableDataAccessException("INSERT"); 执行时抛出异常,但是数据库却并没有如愿回滚信息,数据已经持久化。跪求大神指导问题所在。
------解决方案--------------------配置HQL语句不是自动提交,才能用事务。