Değiştirilmiş bir nesne kaydedilirken JPA birleştirme () beklendiği gibi çalışmıyor

oy
12

Bu varlık için kurduğum kurulum

@Entity
@Getter
@Setter
@Table(name = movies, schema = public)
public class Movie {
    @Id
    @Column(name = id)
    private UUID movieId;

    @OneToMany(mappedBy = actor, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private Set<Actors> actors = new HashSet<>();

    //Getters and setters
    }
}
@Entity
@Getter
@Setter
@Table(name = actors_movies, schema = public)
public class ActorMovie {

    @EmbeddedId
    private ActorId id;

    @ManyToOne(fetch = FetchType.LAZY)
    @MapsId(movieId)
    @JoinColumn(name = id_movie_movie)
    private Movie movie;

    //Getters and setters below
}

Başarıyla arayabilirim entityManager.merge()' when I add a new Aktör` film listesine. Aşağıdaki tablolar başarıyla devam etmektedir.

Movie movie = getMovieById(id);
movie.setActors(new Actor());
entityManager.merge(movie);

Sonra oyuncu adını güncellemek istiyorum, böylece yaptığım şey bu. Zaten var olan / mevcut bir Aktörü güncelleyemiyorum:

Movie movie = getMovieById(id);
movie.getActors().get(0).setName(New Name);
entityManager.merge(movie);

Yukarıdaki çalışmaz, nesnenin hata ayıklama modunda güncellendiğini görebiliyorum merge() olarak adlandırılır ve veritabanını güncellemez.

Nerede yanlış gidiyorum? Zaten birleştirme işleminin güncelleneceğini düşündüm.

Oluştur 06/06/2020 saat 03:21
kaynak kullanıcı
Diğer dillerde...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more