Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在一个实体中休眠一个对象_Java_Hibernate - Fatal编程技术网

Java 在一个实体中休眠一个对象

Java 在一个实体中休眠一个对象,java,hibernate,Java,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

我尝试在一个实体中创建关系(一个表中的一个对象,父-子关系),我有一个类:

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

}
公共类菜单项{
@身份证
@生成值
私人长Id;
私有字符串内容;
私有字符串名称;
@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name=“parent”)
私有菜单项父项;
@OneToMany(cascade=CascadeType.ALL,mappedBy=“parent”)
private Set childrens=new HashSet();
//接球手和接球手
}
加载数据工作正常,但当我尝试保存MenuItem时,出现以下错误:

“字段'childrens_id'没有默认值”

Hibernate尝试保存MenuItem correst值(我在日志中看到),但我认为,它尝试创建另一个联接表和finnaly事务失败

这一点在以下位置有详细说明: 但不起作用。我使用了Hibernate4.1.1和TomcatServer7


已解决:删除并再次创建数据库。

我想最好的办法是删除数据库并再次运行。您似乎有hibernate/jpa impl设置来生成数据库方案,但是代码和表太不同步了。您的桌子上可能有一块“悬挂”的区域


作为旁注:“野生”猜测:在将其更改为上述代码之前,您尝试了
@JoinColumn(name=“childrens_id”)
?(与mappedBy值混淆?

我想最好的办法是删除数据库并重新运行。您似乎有hibernate/jpa impl设置来生成数据库方案,但是代码和表太不同步了。您的桌子上可能有一块“悬挂”的区域


作为旁注:“野生”猜测:在将其更改为上述代码之前,您尝试了
@JoinColumn(name=“childrens_id”)
?(是否与mappedBy值混淆?

我删除并再次创建了数据库,它正在工作。非常感谢!在此之前,我尝试了其他一些方法,比如值(JoinColumn:)等等,因此可能会出现这个错误。这是一个常见的错误,这里有很好的解释。我删除并再次创建了数据库,它正在工作。非常感谢!在此之前,我尝试了其他一些方法,比如值(JoinColumn:)等等,因此可能会出现这个错误。这是一个常见的错误,这里有很好的解释。