EntityManager 中的实体更新
Entity update in EntityManager
简述一下整个情况。我有一个实体
public class MovieEntity {
...
@OneToMany(mappedBy = "movie", cascade = CascadeType.ALL)
private Set<MovieOtherTitle> otherTitles;
...
}
我使用 JPA 在数据库中保存了一部电影 Spring 数据存储库
this.movieRepository.save(movie);
那我再给片子加个片名
final MovieOtherTitle movieOtherTitle = new MovieOtherTitle(otherTitle.getTitle(), otherTitle.getCountry());
movieOtherTitle.setMovie(movie);
movieOtherTitle.setUser(user);
this.entityManager.persist(element);
当我想显示这部电影的片名列表时,该列表是空白的
movie.getOtherTitles()
重新编译应用程序后,一切正常。为什么?看起来这个实体没有实时刷新列表。我必须重新编译应用程序,然后您才能看到列表中的元素。
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();
列表不会为空
你可以得到otherTitle的id
movie.getOtherTitles().get(0).getId
简述一下整个情况。我有一个实体
public class MovieEntity {
...
@OneToMany(mappedBy = "movie", cascade = CascadeType.ALL)
private Set<MovieOtherTitle> otherTitles;
...
}
我使用 JPA 在数据库中保存了一部电影 Spring 数据存储库
this.movieRepository.save(movie);
那我再给片子加个片名
final MovieOtherTitle movieOtherTitle = new MovieOtherTitle(otherTitle.getTitle(), otherTitle.getCountry());
movieOtherTitle.setMovie(movie);
movieOtherTitle.setUser(user);
this.entityManager.persist(element);
当我想显示这部电影的片名列表时,该列表是空白的
movie.getOtherTitles()
重新编译应用程序后,一切正常。为什么?看起来这个实体没有实时刷新列表。我必须重新编译应用程序,然后您才能看到列表中的元素。
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(); 列表不会为空
你可以得到otherTitle的id
movie.getOtherTitles().get(0).getId