![](/img/trans.png)
[英]Hibernate subquery apply DetachedCriteria to ManyToMany join table
[英]Hibernate ManyToMany with Join table problems on update
我正在努力使ManyToMany協會適用於所有CRUD操作。 我有兩個實體: Places
和Events
。
地方可以舉辦多個活動,活動可以在多個地方舉行。
在第一種情況下,我有
在PlaceDto課程中
@ManyToOne(
targetEntity=EventDto.class,
cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(
name = "EVENTS_PLACES",
joinColumns = { @JoinColumn(name = "PLACE_ID") },
inverseJoinColumns = { @JoinColumn(name = "EVENT_ID") })
private List<EventDto> events;
在PlaceDto類中:
@JoinTable(name = "EVENTS_PLACES", joinColumns = @JoinColumn(name = "EVENT_ID"), inverseJoinColumns = @JoinColumn(name = "PLACE_ID"))
private List<PlaceDto> places;
在這種情況下,在更新地點時,地點與其事件之間的鏈接被刪除
使用DELETE FROM EVENTS_PLACES where ...
語句
第二種情況
所以在閱讀了一些文檔后,我將PlaceDto更改為
@ManyToMany (
mappedBy = "events",
cascade = { CascadeType.PERSIST, CascadeType.MERGE },
fetch = FetchType.LAZY,
targetEntity = FundDto.class)
private List<PlaceDto> places;
當更新一個地方時,一切似乎都很好,但是當我嘗試創建一個事件時,它也會嘗試創建一個地方
=>這會導致主鍵違規。
我使用eclipse覆蓋了hashcode()和equals()。
謝謝你的幫助。
請不要猶豫,向我指出一個頁面,其中顯示和解釋了完全工作和測試的ManyToMany關系。
克里斯托弗
這是一個很好的例子
只是嘗試將他們擁有的內容復制到您自己的代碼中,它應該可以工作。 如果它仍然沒有,請發布兩個類的完整列表和導致錯誤的代碼,也許我可以看到問題是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.