2つのハイバネートエンティティの間にm2mの関係があります。それらをムービーとアクタと呼びましょう。これは双方向リンクでセットアップしました。明らかに、これはムービーテーブル、アクターテーブル、および2つのデータベース間の外部キーの結合テーブルとしてモデル化されています。hibernateエンティティ間の関係を効果的に更新する
UIを使用すると、アクターとムービーの関係を更新できます。内部的には、UIは関係する映画や俳優のIDを使用して画面上の更新を追跡し、「保存」を押すと俳優IDのリストを含む映画IDをコントローラに送信します。
私の質問:dbに4つのアクタを追加してムービーを更新するとします。私は追加するアクターIDのリストを持っていますが、私はUIからidsを受け取っただけなので、実際のActorオブジェクトはありません。
このアップデートを行うには、4つの本格的なActorオブジェクトを読み込んでMovieオブジェクトに追加し、データベースに保存できるようにする必要がありますか?言い換えれば、最初にデータベースから選択して更新を行う必要がありますか?実際に更新されるのは、結合テーブルにいくつかの行を追加するだけなので、余計な選択呼び出しを行うのは非効率的です。私はすでにそれを行うために必要なすべての情報を持っています。
したがって、hibernateは、独自のraw sqlクエリを作成せずに、結合テーブル自体に直接キーを追加する便利な方法を提供しますか?