A JPA merge () nem működik a várt módon, amikor egy módosított objektumot ment

szavazat
2

Ez az entitásom

@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
}

Képesek vagyok sikeresen felhívni entityManager.merge()' when I add a new Színész` a film listájára. A következők sikeresen megtartják a táblákat.

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

Aztán frissíteni akarom a színész nevét, szóval ezt csinálok. NEM vagyok képes frissíteni egy már megmaradt / létező színészt:

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

A fenti nem működik, látom, hogy az objektum hibakeresési módban frissül, de mikor merge() úgy hívják, hogy nem frissíti az adatbázist.

Hol tévedek? Azt hittem, hogy az egyesítés frissül, ha már létezik.

A kérdést 06/06/2020 03:21
a forrás felhasználó
Más nyelveken...                            

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