读书人

hibernate 更新不成功有关问题

发布时间: 2012-03-28 15:40:03 作者: rapoo

hibernate 更新不成功问题
如下:代码执行到了update语句,但是没有修改成功

Java code
sql = String.format("select * from %s where dg_id=%d and id=%d",sumo.getTableName(),sumo.getDgId(),sumo.getTraitId());        Session session = sessionFactory.openSession();        Transaction tx = null;        try {            //开启事物            tx = session.beginTransaction();            //获取修改的那条记录            List<TraitStrTrees> list = session.createSQLQuery(sql).addEntity(TraitStrTrees.class).list();            if(list.size()==0){                return ;            }            TraitStrTrees tst = list.get(0);            List<Integer> intList = SUUtil.parsingBinary(tst.getArticles());            if(intList.size()==0){                //说明数据有误,但也可以直接添加            }else if(intList.size()==1){                //直接修改                tst.setTrait_value(sumo.getTraitItemValue());                session.update(tst);            }else{                //删除后再修改,最后添加一条记录            }                        //提交事物            tx.commit();        } catch (Exception e) {            e.printStackTrace();        } finally {            session.close();        }


[解决办法]
设断点有没有到tx.commit();
测试那个修改SQL语句是否正确;
[解决办法]
tst.setTrait_value(sumo.getTraitItemValue());看下这个sumo.getTraitItemValue())有值没

[解决办法]
对于PO对象的更新,无须再显示session.update(tst)。。。
[解决办法]
如果走到了tx.commit();也不报异常
那就不知道什么错误了,打印下tst里面的属性值。看下你封装的对象

读书人网 >J2EE开发

热点推荐