验证不适用于持久性

时间:2012-05-06 15:50:33

标签: java spring jpa-2.0 bean-validation

我正在使用Spring 3.1.0.RELEASE,JSF 2.x,JPA 2和Hibernate Provider进行Web应用程序。该应用程序在Tomcat 6.X上运行。

我在我的实体中使用bean验证。 Hibernate Validator是提供程序,版本4.2.0.Final。

@NotEmpty(message="{site.checklangs}")
    @OrderBy("position ASC")
    @OneToMany(mappedBy = "site", fetch = FetchType.EAGER, cascade= CascadeType.ALL, orphanRemoval=true)
    private List<SiteLanguage> langs;

@NotEmpty适用于persist,但适用于merge

@Override
    @Transactional
    public Site updateSite(Site site) {
        return entityManager.merge(site);
    }

当我的列表为空时,这不会抛出任何异常。为什么?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试在entityManager.flush();;

之后致电merge()

请参阅Validation doesn't work on EntityManager.merge()作为参考。