我在JEE应用程序中有一些SessionBeans,并且喜欢使用BeanValidation来验证我的参数。因此整个验证过程是通用的,并封装在一个地方。
我看到的唯一缺点是客户端获取EJBException并且必须解开主Exception。还有一些我看不到的问题或脏东西,甚至是更好的方法吗?
答案 0 :(得分:5)
将ConstraintViolationException
设为ApplicationException。
如果还没有,请创建一个ejb-jar.xml文件(如果ejbs打包在战争中,则在/ WEB-INF中,否则在/ META-INF中):
<ejb-jar>
<assembly-descriptor>
<application-exception>
<exception-class>javax.validation.ConstraintViolationException</exception-class>
<rollback>true</rollback>
</application-exception>
</assembly-descriptor>
</ejb-jar>
您可以为EJB 3.0或更高版本
执行此操作