0
我有兩個實體與許多與許多關係:電影和演員實體多對多有誤差與同一ID將
電影
public class Movie {
@Id
private String imdbId;
@ManyToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER, targetEntity = Actor.class)
private Set<Actor> actor;
}
演員
public class Actor {
@Id
private String actorId;
}
它是一個restful API,我發佈JSON到MovieController。我的json是:
{
"imdbId": "tt2395424",
"actor" : [{"actorId" : "0001"}, {"actorId" : "0002"}]
}
這工作得很好,演員自動填充。但是當我用相同的actorId插入新電影時,它會拋出actor已經存在的錯誤。我很困惑,因爲據我所知,如果不存在,Hibernate會在插入之前比較id,否則會插入其他地圖。你能告訴我我要去哪裏嗎?
但我使用堅持...使用持久保存時,saveOrUpdate的另一種替代方法是什麼? –
您可以使用合併而不是持久化,這是saveOrUpdate的替代方法。查找更多細節在https://stackoverflow.com/questions/1069992/jpa-entitymanager-why-use-persist-over-merge –
謝謝..這工作,但任何關於自動生成的ID的想法,因爲對我而言害怕,它會造成重複 –