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