日期:2014-05-18  浏览次数:20714 次

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");
 执行时抛出异常,但是数据库却并没有如愿回滚信息,数据已经持久化。跪求大神指导问题所在。
hibernate4 springMVC hibernate方言问题 事务问题

------解决方案--------------------
配置HQL语句不是自动提交,才能用事务。