4

我正在使用 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);
    }

当我的列表为空时,这不会引发任何异常。为什么 ?如何解决?

4

1 回答 1

0

尝试调用entityManager.flush();之后merge()

请参阅验证在 EntityManager.merge() 上不起作用作为参考。

于 2012-05-06T16:34:27.827 回答