有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate验证程序异常

我在一个带有EJB和Spring MVC的应用程序中使用Hibernate Validator。我正在使用JBoss 5、Hibernate 3和Spring MVC版本3

我想尝试在Spring异常解析器级别捕获验证异常,并基于InvalidStateException消息生成一条错误消息。我不想把异常处理逻辑放在数据访问层;我希望这是由注释驱动的,并且只在一个集中的地方处理验证错误

域模型正在被正确验证,当我尝试创建无效实体(例如,违反字段的长度约束)时,会按预期引发类型为InvalidStateException的异常。在试图捕捉Spring异常解析器实例中的异常时,我发现原来的异常已经消失,一个javax.ejb.EJBTransactionRolledbackException已经取代了它。原始异常不在“原因”列表中

我的第一个猜测是org.hibernate.validator.InvalidStateException没有用ApplicationException注释,所以我安装了一个Hibernate事件侦听器,捕获了原始异常,并将其作为一个用ApplicationException注释的新异常重新触发。这没有效果

另一个复杂性是,web层通过远程接口调用EJB。我用WebFault注释了我的异常类,但没有用

我应该做什么来确保异常一直冒泡


共 (0) 个答案