hibernate往有外键的表中插入数据

被这个问题卡住了两天,去CSDN问了,又去看了张龙的视频,终于解决了。

其实这个很简单,只是在使用Myeclipse进行hibernate逆向工程配置时,配置错了,导致插入不成功的问题。

这个错误的配置是:数据库表中没有设置id自增主键,在hibernate逆向工程配置时配置了increment属性!

进入正题,Student中含有外键,如:

public   ClassRoom   { 
int id
String name

}

public Student{
int id //参照ClassRoom中的id。
String name
String mark
}

Student中的id就是参照ClassRoom类的外键,在Myeclipse中使用逆向工程生成DAO的时候,Student类是这样的:

public  Student(){ 
ClassRoom classroom //变成了对象
String name
String mark
}

Student中的id变成了一个ClassRoom的对象,所以在插入数据时应该先根据id在数据库中查询获得一个ClassRoom对象,再把这个对象set进Student对象,然后保存Student对象到数据库即可。

原文地址:https://www.cnblogs.com/myfjd/p/2265093.html