读书人

Hibnerate:增多和修改的时候需要操作

发布时间: 2011-12-01 22:07:01 作者: rapoo

Hibnerate:增加和修改的时候需要操作2个表,这样写对吗?

Java code
 public boolean update(Class a,Class b) {        Session session = HibernateSessionFactory.getSession();        Transaction tx = null;        try {            tx = session.beginTransaction();            session.update(a);            session.update(b);            tx.commit();            return true;        } catch (RuntimeException re) {            tx.rollback();            log.error("==CardinfoServices update failed ==", re);        } finally {            session.close();        }        return false;    }

增加也是类似

只要有一个表修改错误,那么事务就回滚


[解决办法]
是如此,如果你觉得这2个操作必须在一个事务里面完成的话,这样子写没有问题,如果可以分开完成的话,最好分开到2个事务中去
[解决办法]
这样添加是可以的。但是你更新数据时必须要保证Class的ID属性不能为空,你说有一个更新错误,那需要去检查下映射文件
有一个检查的方法:
在hibernat.cfg.xml文件是配置show_sql属性,这样在执行时会输出SQL语句。你检查下输出的SQL语句是否正确。也可把输出的SQL语句拿到数据库去执行一下。那样就知道UPDATE语句是否正确了。
希望有帮助。。。
[解决办法]
可以,不过先实践先,报错再来贴出来,这样都不用花100分啦,呵呵
[解决办法]
1楼说法不对比如说一张是日志表,另一张是业务表,所有业务修改都要有写日志表,这是不可能是。
必需是 一个事业有同时成功操作要不就都不操作的要求必需一个事务。

1 你可能看一下你有没有表的修改权限;先用一下find能不能查询出来;如果能说明是操作权限问题
2 可以用2楼方法。
3 上网查一下写一个log4j.xml把这些信息都 打出来这样更全面。
希望你能把异常贴出来
[解决办法]
探讨
这样添加是可以的。但是你更新数据时必须要保证Class的ID属性不能为空,你说有一个更新错误,那需要去检查下映射文件
有一个检查的方法:
在hibernat.cfg.xml文件是配置show_sql属性,这样在执行时会输出SQL语句。你检查下输出的SQL语句是否正确。也可把输出的SQL语句拿到数据库去执行一下。那样就知道UPDATE语句是否正确了。
希望有帮助。。。

[解决办法]
虽然没错,但业务逻辑应分开写

读书人网 >J2EE开发

热点推荐