弱弱问句,刚学hibernate,很迷惑。比如两张表:class表(classId,className),student表(studentId,name,age,num,classId),其中student.classId是外键。
我想通过某个班向student表插入新的一行数据,即比如向一班插入一个新学生的数据,怎么写代码呢?用hibernate不会了。
我想了一个方法不知道对不对,是这样的,我通过classId查询到一个new Class,然后因为class.getStudent.add(student)类似的方法将student的一个实例插入到new Class类中,然后执行save(class)。但是报错,说student session关闭之类的。看来这个想法错了。
求大人给予正解。
谢谢。
我想通过某个班向student表插入新的一行数据,即比如向一班插入一个新学生的数据,怎么写代码呢?用hibernate不会了。
我想了一个方法不知道对不对,是这样的,我通过classId查询到一个new Class,然后因为class.getStudent.add(student)类似的方法将student的一个实例插入到new Class类中,然后执行save(class)。但是报错,说student session关闭之类的。看来这个想法错了。
求大人给予正解。
谢谢。
解决方案 »
- javascript
- cxf 接口调用接口时传入一个null参数 报错
- jsp与struts标签之间的通信
- birt 按列循环显示数据的问题
- 我装了netbean为什么启动不了
- web 连接8090端口 连接不上
- jsp加载ocx控件失败
- 请问:用JBuilder生成的exe文件,在没有java环境的机器上可以执行吗?
- Bean 类的构造函数是否一定要没有参数的?
- weblogic6.1 sp2启动出显以下错误!!!
- 运行eclipse时报的一个错误,高手帮忙看一下...
- 我的一个HTML页面和一个CLASS文件在浏览器里都能单独显示出来,可HTML按提交时候转不到CLASS文件可能是哪里出问题
Student:<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="org.wiki.hibernate.Student" table="t_student">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="classid" column="classid"/>
</class>
</hibernate-mapping>
Class:<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.wiki.hibernate">
<class name="Class" table="t_class">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="students" inverse="true" cascade="all">
<key column="classid"/>
<one-to-many class="Student"/>
</set>
</class>
</hibernate-mapping>
class ( one to many ) student 关系
session.beginTransaction();
Class=(Class) session.load(Class.class, classId);
student.setClass(Class);
student.set...
......
session.save(student)
session.getTransaction().commit();
session.close()