我已经注释了我的JPA实体有一些约束(例如@NotNull,@ Max,以及一些自定义的)。
我知道容器(在这种情况下是Glassfish)一旦它们成为SQL查询的一部分就会自动验证实体(插入,更新......)。当然,它工作正常,并且事务被回滚并抛出异常。然后我只有抱怨的是约束的错误消息它没有打印在日志中。
所以我想知道,我应该只依赖已经存在的系统,还是应该在我的EJB应用程序中添加更多验证逻辑?
例如:
public Long createJob(Job j) {
em.persist(j);
return j.getId();
}
此方法在数据库中创建作业,作业实体从应用程序客户端传递给EJB,该客户端将一个作为简单对象实例化(无需从客户端中的容器进行验证)。 我应该在这样的方法中使用Validation API(永远不要简单)或者它是多余的吗?