java hibernate修改语句执行没有报错,但数据库也没有改变是怎么回事
2个回答
展开全部
检查程序中配置的数据源,简单说就是程序有没有连错数据库
检查事务相关配置或编码,是不是没有提交事务
追问
1,绝对连接数据库了,我修改的数据就是hibernate query.list()从数据库得到的
2,修改也要提交事务吗?这段我是在网上看的没有提交事务啊。
3,query,excuteUpdate()和session.update()那个更好,他们有什么区别,
4 ,可不可以给个关于我上边修改的详细代码
追答
对于数据更改(包括插入、修改、删除)的操作都要提交事务才能生效, 只不过用JDBC的话默认是自动提交,也就是每条语句执行完就自动提交事务了。JDBC中可以通过Connection对象的setAutoCommit(false)方法来关闭自动提交,然后用Connection对象的commit方法手工提交事务。
Hibernate的事务管理你看看你有没有配置交给JDBC或者JPA。
query.executeUpdate方法可以按照你写的sql语句进来更新,例如:
Query query = session.createQuery(“update Teacher t set t.name = ‘zhangsan’ where id = 3″);
query.executeUpdate();
而session.update(Object entity)方法是更新一个受管实体bean的所有字段,不是按SQL更新。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询