【问题标题】:Validation doesn't work with persist验证不适用于持久化
【发布时间】:2012-05-06 15:50:33
【问题描述】:

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

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

【问题讨论】:

    标签: java spring jpa-2.0 bean-validation


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多