1
我嘗試在一個實體(一對多在一個表中,父母 - 子女關係)來創建關係,我有一個類:Hibernate的一對多在一個實體
public class MenuItem {
@Id
@GeneratedValue
private long Id;
private String content;
private String name;
@ManyToOne(cascade = { CascadeType.ALL })
@JoinColumn(name="parent")
private MenuItem parent;
@OneToMany(cascade = CascadeType.ALL, mappedBy="parent")
private Set<MenuItem> childrens = new HashSet<MenuItem>();
//getters and setters
}
加載數據的工作很好,但是當我嘗試保存菜單項,我有以下錯誤:
「場‘childrens_id’沒有默認值」
Hibernate試圖保存菜單項correst值(我看到它在日誌),但是,我認爲,其試創建另一個,Join表和finnaly事務失敗。
這是exacly顯示在: http://www.roseindia.net/hibernate/hibernate4/OnetoManySelfJoin.shtml 但無法正常工作。我使用了Hibernate 4.1.1和Tomcat服務器7.
已解決:刪除並再次創建數據庫。
我丟棄並重新創建數據庫,它正在工作。非常感謝! 在此之前,我嘗試了一些其他的東西,值(JoinColumn也:))等,因此可能是這個錯誤。 Registers Adam Adam –
這是一個常見的錯誤,這裏很好地解釋http://ondra.zizka.cz/stranky/programovani/java/hibernate-common-errors-and-exceptions.texy。 – Yanflea