您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> Spring HibernateTemplate中update,add,delete方法都无法提交数据库!

Spring HibernateTemplate中update,add,delete方法都无法提交数据库!

来源:网络整理     时间:2016/7/26 22:53:38     关键词:

关于网友提出的“ Spring HibernateTemplate中update,add,delete方法都无法提交数据库!”问题疑问,本网通过在网上对“ Spring HibernateTemplate中update,add,delete方法都无法提交数据库!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Spring HibernateTemplate中update,add,delete方法都无法提交数据库!
描述:

今天在编写单表增删改查的时候,出现了问题:
后台的Action可以成功执行,也没有报错,但是数据库的数据就是没有修改!
运用的是HibernateDaoSupport中的方法


/**
 * 通过指定ID删除单条角色信息
 */
public void deleteRoleById(String roleId){
PtRoleInfo ptRoleInfo = (PtRoleInfo) this.getHibernateTemplate().get(PtRoleInfo.class, roleId);
this.getHibernateTemplate().delete(ptRoleInfo);
}
/**
 * 更改角色信息
 */
@SuppressWarnings("unchecked")
public void updateRoleInfoById(RoleInfo roleInfo){
//PtRoleInfo ptRoleInfo = new PtRoleInfo();这里New出来的对象,和数据库不能对应
PtRoleInfo ptRoleInfo = (PtRoleInfo) this.getHibernateTemplate().get(PtRoleInfo.class, roleInfo.getRoleId());
// ptRoleInfo.setRoleId(roleInfo.getRoleId());
ptRoleInfo.setRoleName(roleInfo.getRoleName());
ptRoleInfo.setDeil(roleInfo.getDeil());
this.getHibernateTemplate().update(ptRoleInfo);
}
/**
 * 保存角色信息
 */
public void saveRoleById(RoleInfo roleInfo){
PtRoleInfo ptRoleInfo = new PtRoleInfo();
ptRoleInfo.setRoleId(roleInfo.getRoleId());
ptRoleInfo.setRoleName(roleInfo.getRoleName());
ptRoleInfo.setDeil(roleInfo.getDeil());
this.getHibernateTemplate().save(ptRoleInfo);
}

我想可能是事物配置的问题


    
        
            classpath:hibernate.cfg.xml
        
    
    
    <>
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        
            
        
    
    
    
    
        
            
            
            
            
        

     
    
    
        <>
            advice-ref="txAdvice" />
    


求教,到底哪里出了问题!谢谢了
解决方案1:

如果你直接在数据库里进行删除,但不提交事务的话  数据也是删不掉的

解决方案2:

我想应该也是 Spring事务配置有问题。。。。
  我以前也碰到过这问题,运行什么都是好的,无异常,就是数据没提交到数据库里面去,后来一检查是 pointcut里面写错了

解决方案3:

唉~~~什么配置我也不看了~~
如果Action可以输出数据的话那么就是你的数据库的语言出问题了哈~~~
检查一下你的语句哈~~~有时候少个字段什么错就不报,也可以在Action里输出
也提示成功修改,但是就是不修改,这肯定就是你的数据库没有写正确哈~~~
因为在数据库那里写错了是不会报错的~~~

解决方案4:


        <>
            advice-ref="txAdvice" />
    

你用这样吧:

    <>
  expression="execution(* com.test.dc.manager.*.*(..))" />
    


以上介绍了“ Spring HibernateTemplate中update,add,delete方法都无法提交数据库!”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2954409.html

相关图片

相关文章