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) 个答案