2017-11-25 10 views
0

状況を簡単に説明します。私はEntityManagerのエンティティ更新

this.movieRepository.save(movie); 

JPA春データリポジトリを使用してデータベースにムービーを保存するエンティティ

public class MovieEntity { 
... 
    @OneToMany(mappedBy = "movie", cascade = CascadeType.ALL) 
    private Set<MovieOtherTitle> otherTitles; 
... 
} 

を持ってそれから私はフィルムに

final MovieOtherTitle movieOtherTitle = new MovieOtherTitle(otherTitle.getTitle(), otherTitle.getCountry()); 
movieOtherTitle.setMovie(movie); 
movieOtherTitle.setUser(user); 
this.entityManager.persist(element); 

そして、私はしたいが、別のタイトルを追加しますこの映画のタイトルのリストを表示するには、リストはBLANK

movie.getOtherTitles() 
です。

アプリケーションを再コンパイルした後は、すべて正常です。どうして?このエンティティがリアルタイムでリストをリフレッシュしなかったかのように見えます。私は再びアプリケーションをコンパイルしなければならず、リストの要素を見ることしかできません。

+1

のIDを取得することができ、空ではありません ?また、新しいタイトルを作成するときに、タイトルテーブルの結合列が正しく挿入されているかどうかを確認します。 – yamenk

+0

https://pastebin.com/u8FquKY8はい。列のすべてのフィールドが正しく入力されています。 –

答えて

0
this.movieRepository.save(movie); 
final MovieOtherTitle movieOtherTitle = new MovieOtherTitle(otherTitle.getTitle(), otherTitle.getCountry()); 
movieOtherTitle.setMovie(movie); 
movieOtherTitle.setUser(user); 

movie.getOtherTitles().add(movieOtherTitles); 

this.movieReoository.save(movie); 

したがって、 を呼び出した後、movie.getOtherTitles();リストは

はあなたが `MovieOtherTitle`を表示することができますotherTitle

movie.getOtherTitles().get(0).getId 
+0

私はすぐにこの保存されたオブジェクトのIDが必要です。 movieOtherTitlesオブジェクトは、リストに追加されたときにそれを持ちますか? –

+0

あなたはCascade.Allを持っているので、movie.saveメソッドを呼び出すと、新しいmovieOtherTitlesインスタンスも保存されます。私はあなたに正しく質問をしましたか? –

+0

https://pastebin.com/AFDyhf5Sこのようにすれば、IDを取得することはできません。リストにすぐに追加する必要があります。 –

関連する問題