为了账号安全,请及时绑定邮箱和手机立即绑定

Hibernate初探之一对多映射

已采纳回答 / Lunatic1894
getStudent()得到的是一个set集合 ,,学生类自己设置,,集合当然有add()方法了

已采纳回答 / 慕粉零零柒
你用hibernate框架,当你运行session.delete()时,自动生成sql语句,你在hibernate.cfg.xml配置<property name="show_sql">true</property>,在控制台显示sql语句!

已采纳回答 / 慕粉4385511
hibernate.cfg.xml配置文件中mapping路径写的不对吧,在检查一下<mapping resource="com/imooc/entity/Grade.hbm.xml"/>

已采纳回答 / 慕粉粉饼
Set<Student> students = grade.getStudents();  //grade.getStudents()是调用了一个无参方法,这时候班级对象grade已经获得了学生集合(可以对这个集合直接操作,如add),但是你又重新set了一个新的students集合students.add(stu1); grade.setStudents(students); // 又把这个新集合放进了班级对象里,这句代码多余了。前两行代码其实等同于g.getStudents().add(s...

已采纳回答 / PS火星风暴
回答错了,是因为在一个事务中更新了主键,而主键是不能被更新的.

已采纳回答 / 王靖Jinn
我有3.2中文版的  要的话留邮箱

已采纳回答 / IamRobbie
我用IDEA自动生成的是这样的<!DOCTYPE hibernate-configuration PUBLIC    "-//Hibernate/Hibernate Configuration DTD//EN"    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 你试试看啊

已采纳回答 / WayLeung
看看Grade.hbm.xml中set 有没有配置好       <!--  配置单向的一对多关联关系 -->        <set name="students" table="student">        <!-- myeclipse不会自动生成!下面的是错误的 --><!--         <set name="students" inverse="true"> -->

已采纳回答 / 慕粉1472929484
老师和你的hibernate版本是否一致,版本不一致在创建注册对像时有差异,改成这样试试ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();

已采纳回答 / 阳光洒在路上就不怕心碎f
不可以的,班级表中gid是主键,作为学生表中的外键,外键可以为空也可以不为空,但是当外键是另一个表中的主键时,是不允许为空的,所以在先插入学生表,班级字段为空时不可以的。<...code...>

已采纳回答 / Sugaweh
要么是映射文件的问题,要么是javaBean(实体类)的问题,仔细察看,是否路径不对,或者属性的名字写错了

已采纳回答 / 天涯竹魂
有c或者c++编程基础的话javase就学得比较快,有些人半个月就可以了,javaEE得看个人学习能力,坚持学习的话两三个月可以
课程须知
本课程主要讲解Java中Hibernate中的关联映射,需要对Hibernate基本用法、ORM的基本概念、单表映射等相关知识有一定的基础。
老师告诉你能学到什么?
1、Hibernate关联映射的类型 2、单向一对多关联的配置 3、单向多对一关联的配置 4、cascade和inverse属性的作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消