java – 在插入失败后恢复Hibernate会话状态
|
以下代码尝试使用Spring Hibernate将Item对象插入到db中. Item具有Integer id字段作为主键,以及受独特约束限制的名称列(简化示例).
我需要这个代码在多个项目的循环中运行,所有这些都在一个事务中,这就是为什么我试图在插入失败时发出更新的原因. 但是,在插入失败后,hibernate会话处于奇怪的状态,当我发出select语句从db获取项时,抛出原始异常. 我尝试在插入失败后使用session.evict(),但无济于事.任何的想法? 这是我在选择失败后在控制台中看到的内容. Hibernate在select语句上失败,但仍然打印有关前一个insert语句的信息.
附:请不要告诉我有关hibernate的saveOrUpdate方法的信息,我知道它的作用. 最佳答案 一旦抛出数据库异常,Hibernate就不保证会话的任何内容.你应该回滚.如果我理解Bozho的建议,他说你应该先从名称栏中读取,以确保插入不会失败.我感觉合理. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从模型中对TableView中的行进行自动更新
- java – JButton扩展以占用整个框架/容器
- Java – 为什么char会被隐式地转换为字节(和简短)原语,什么
- 什么是java.util.regex.Pattern.quote(String arg)的GWT替换
- java – 无法通过测试用例从src / main / resources访问文件
- Apache commons exec 简介和简单ping命令方法调用实现
- Android系统下监听SD卡的插入并读取内容
- java – 与Jersey和Spring集成Grizzly2.2.X
- java – ResultSet.TYPE_SCROLL_SENSITIVE的行为
- 使用javamail发送包含图片的html格式邮件
