我希望有人遇到这个问题:
在服务层中,我正在捕获一个异常,在catch块中,我想调用< code>saveAndFlush在数据库中保存一条记录,然后抛出应用程序异常。问题是保存和刷新不能持久保存记录,事务似乎会回滚。
代码是这样的:
catch(SomeException e) {
repoClass.saveAndFlush(entity);
throw new ApplicationException();
}
有什么想法吗?
非常感谢。
这是因为如果代码抛出任何< code>RuntimeException,spring将回滚事务,< code > application exception 是一个< code>RuntimeException,因此< code>saveAndFlush不起作用(事务回滚)。< br>
在您的情况下,您必须抛出< code > UserDefinedException 而不是< code>RuntimeException
样品
public class UserDefinedException extends Exception {
}
问题内容: 我已经坚持了好几个星期,而且我没有最模糊的想法出了什么问题。我已经很浪费了,因为我已经浪费了很多时间 我使用下面描述的数据模型(MySQL)。我已经通过反向工程(Eclipse / JBoss Tools)创建了hbm.xml和java类(请参见下面的示例)。 当我尝试保存推文,单词或事件时,我可以在日志消息中看到生成了pk值并且正确绑定了参数,但是没有任何内容写入数据库。(请参阅帖子
问题内容: 当取消注释时,我们将在第二种方法中获得en异常- 当作者。 为什么会这样呢? 问题答案: 问题似乎是Hibernate引发了一个异常(因此当前事务无效),但是随后您尝试在该会话中继续执行更多操作。 正确的方法是将您使用的测试分为2部分,一部分测试空作者,另一部分测试有效作者。 在生产代码(例如控制器)上,您需要重新启动操作(关闭事务,重新启动流程)才能继续。但是,考虑到游戏管理交易的方
当我尝试使用hibernate postgresql获取列表时,我收到以下错误 MyObject: 用户: 首先,我获取用户并将其保存在用户对象中: 然后,当我试图通过用户获取MyObject的列表时: 我收到 我做错了什么?
我目前正在使用Spring Boot1.4.2,我在其中加入了Spring-boot-starter-web和spring-boot-starter-jpa。 我的主要问题是,当我保存一个新的实体时,它工作得很好(一切都很酷)。 但是,如果我用相同的id保存一个新的产品实体(例如重复的条目),它不会抛出异常。我期待的是ConstrintViolationException或类似的东西。 考虑到以下
问题内容: 这分别是我的hbm和测试代码。我正在使用Spring的HibernateTemplate。我不使用DAO。使用Spring 2.0.7的Hibernate 2.2.5 血红蛋白 测试 超级测试班 错误 问题答案: 好的,根本原因是我对集合的映射无效。感谢这篇关于复合映射的文章 错误: 正确 完整的映射
错误是:by:javax.el.elexception://jsf/submit.xhtml@20,76 listener=“#{banklocationmb.savelocation}”对象引用了一个未保存的瞬态实例-在刷新之前保存瞬态实例 尝试添加级联持久化,我收到以下错误 org.springframework.orm.jpa.jpasystemexception:org.hibernate