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仕事persistmerge

@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 に答える