我应该以编程方式验证容器管理环境中的实体吗?

时间:2017-02-21 14:38:44

标签: java validation jpa

我已经注释了我的JPA实体有一些约束(例如@NotNull,@ Max,以及一些自定义的)。

我知道容器(在这种情况下是Glassfish)一旦它们成为SQL查询的一部分就会自动验证实体(插入,更新......)。当然,它工作正常,并且事务被回滚并抛出异常。然后我只有抱怨的是约束的错误消息它没有打印在日志中。

所以我想知道,我应该只依赖已经存在的系统,还是应该在我的EJB应用程序中添加更多验证逻辑?

例如:

public Long createJob(Job j) {
    em.persist(j);
    return j.getId();
}

此方法在数据库中创建作业,作业实体从应用程序客户端传递给EJB,该客户端将一个作为简单对象实例化(无需从客户端中的容器进行验证)。 我应该在这样的方法中使用Validation API(永远不要简单)或者它是多余的吗?

0 个答案:

没有答案