首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

hibernate 外键 对象 保存有关问题

2012-01-30 
hibernate 外键 对象 保存问题数据库里有两个表,其中一个表中的字段是参照另一个表中某一字段的外键。例如:

hibernate 外键 对象 保存问题
数据库里有两个表,其中一个表中的字段是参照另一个表中某一字段的外键。
例如:

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

Student中的id字段就是参照ClassRoom中的id。
在Myeclipse中使用逆向工程生成DAO的时候,Student类是这样的:
Java code
public  Student(){    ClassRoom   classroom //变成了对象    String   name     String   mark}

Student的id属性变成了ClassRoom的对象。 不明白为什么。
现在我要保存Student信息,从前台传过来了id name 和mark,要怎么保存到Student中呢?
以前没有外键时是用id name mark三个属性新建一个Student对象保存进去即可.
但是现在Student类的id属性变成了ClassRoom的一个对象.该怎么操作呢.
是新建一个ClassRoom对象,然后把id存入该ClassRoom对象,在把ClassRoom对象存入Student??

[解决办法]
新建一个ClassRoom对象,然后把id存入该ClassRoom对象,在把ClassRoom对象存入Student。可以。
建议你学着正向配置,有利于理解实体类如何相互关联的(就是一楼大牛说的面向对象的思想)
[解决办法]
首先确定那个ClassRoom的id必须已经存在,其次你应该贴点代码
探讨
这样做出错了:
2011-11-26 17:10:23 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException


引用:
……

[解决办法]
很明显,student是依赖classroom的。也就是说要保存student,必须先保存classromm。get出classroom对象,set进student,保存

热点排行