2017-12-07 4 views
1

@ManyToManyの双方向関係を持つ2つのエンティティ(Consultancy - オーナー、InterviewType)があります。ユーザーはコンサルタントにインタビュータイプを添付できます。私が知っている私たちは休止状態を使用している場合には、我々はちょうど新しい一時エンティティを持続またはデタッチオブジェクトを更新するEntityManagermerge()メソッドを呼び出すことができますが、どのような春のデータやSpringデータでsave()についての方法は、他の方法を持っていること?それは@ManyToMany関係の依存する実体に何らかの影響を及ぼしますか?どのように「はい」の場合?それはボンネットの下に休止状態merge()メソッドを呼び出していますか?CascadeType.MergeがSpringデータとのエンティティリレーション

答えて

0

あなたは2.0.2のバージョンから実装を見れば:

@Transactional 
public <S extends T> S save(S entity) { 

    if (entityInformation.isNew(entity)) { 
     em.persist(entity); 
     return entity; 
    } else { 
     return em.merge(entity); 
    } 
} 

持続性プロバイダが渡されたエンティティがIDを持っていない/ ..で、新しいことを決定した場合、マージは、ボンネットの下に呼び出されます「新しい」はEntityInformationの基礎となる実装に少し依存する..だから持続性プロバイダによって管理されていません。私は暗黙のmerge

をivokedていなかったとして、私は自分のカスタムマージ・ロジックを書かなければならなかった状況があったものの必要がある場合には、マージを呼び出す必要があり、一般的に

関連する問題