是否沒有辦法使'一'成爲一對多關係的所有者? @OneToMany
中的每個樣本都有mappedBy
。即使是對this similar question的回答也是如此。雙向一對多,擁有一個作爲擁有方
我希望一方是自己的一方,因爲當我添加一個多/孩子時,我還更改一個/父母的一些信息,我只想更新父代,以簡化代碼並確保它全部進入相同的ACID事務。
但我只是不能讓它工作。休眠不斷在映射抱怨
重複列實體
我的實體:
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@OneToMany(fetch = EAGER, cascade = {ALL}, orphanRemoval = true)
@JoinColumn(name = "parent_id", referencedColumnName = "id", nullable = false)
private final Set<Child> children = new HashSet<>();
}
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@ManyToOne
private Parent parent;
}
你部分正確。我不得不用'insertable = false,updatable = false'替換'nullable = false' – user384729
@ user384729這是一個很好的觀點。通過包含'insertable = false,updatable = false',它不會觸發額外的更新查詢。 –