11

私はJPA全体に不慣れなので、JPAのマージと永続化を処理する最良の方法について複数の質問があります。

  1. 更新する必要があるユーザー オブジェクトがあります (日付や名前などの値)。最初に渡されたオブジェクトをマージする必要がありますか、それとも新しいオブジェクトを見つける方が安全ですか?

    現在、ユーザーを更新するための私のコードは次のようになります。

    public void updateUserName(User user, String name) {
         // maybe first merge it?
         user.setName(name);
         user.setChangeDate(new Date());
         em.merge(user);   
     }
    

    update メソッドが呼び出される前に、ユーザーが操作されていないことを確認するにはどうすればよいですか? 次のようなことをする方が安全ですか?

     public void updateUserName(int userId, String name) {
         User user = em.getReference(User.class, userId);
         user.setName(name);
         user.setChangeDate(new Date());
         em.merge(user);   
     }
    

    多分他の解決策?私は複数のビデオを見て、多くの例を見ましたが、それらはすべて異なり、ベストプラクティスが何であるかを誰も説明しませんでした.

  2. 子供を関係に追加するための最良のアプローチは何ですか? たとえば、私のユーザー オブジェクトには複数のグループへの接続があります。ユーザーの JPA ハンドラーを呼び出して、新しいグループをユーザー グループ リストに追加するだけでよいでしょうか。それとも、永続化された so グループ ハンドラーでグループを作成し、ユーザー オブジェクトに手動で追加する必要がありますか?

ここの誰かが手がかりを持っていることを願っています;)

4

2 に答える 2