0

更新するように設定された Java オブジェクトがあります。そのために SaveOrUpdate メソッドを使用しました。子の更新には問題なく機能しますが、私の要件には問題があります。

1人の子が削除された場合、データベースから子を削除する必要があるためです。

誰でもこれを実装する良いアイデアを持っていますか?

元 :-

プロジェクトは人と一対多の関係を持っています。

プロジェクトには、次のような属性があります。

  class Project { 
    long id;
    Set<People> people;
    ......
 }

public void updateProject(Project project) {

    try {
        getCurrentSession().saveOrUpdate(project);
    } catch (Exception ex) {
        logger.error(ex);
    }

プロジェクト オブジェクトには人物セットが含まれていますが、そこから一部の人物 ID が削除されています。

不要な人のIDを削除してプロジェクトを更新する必要があります

ありがとうございました

4

2 に答える 2

1

Project エンティティでカスケードを有効にしていると思いますので、関係に orphanRemoval 属性を追加する必要があると思います。あなたのケースの例は次のとおりです。

@OneToMany(cascade={CascadeType.ALL}, orphanRemoval=true)
于 2013-07-29T06:43:25.543 に答える