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

Hibernate初探之一对多映射

已采纳回答 / 飞翔的小牛
<many-to-one name="grade" class="com.imooc.entity.Grade" column="gid" cascade="save-update"></many-to-one>这里面的 column="gid" 表示Grade表里面的gid gid 在Student表中是外键,gid 在Grade表中是主键。

最新回答 / 一只丑橘
inverse属性必须是在set标签里的吧,hibernate配置文件中的inverse属性表示反转,一般是在<set>节点中指定关联关系的控制方向,默认由one方来维护,如果双方都来维护,对我们系统的性能是有影响的。在one方把inverse属性设置为‘true’,由many方来进行维护,在一对多的关联中,只能设置one方的inverse为true,这将有助于性能的改善

最新回答 / 3你还差得远呢
<...code...>Grade实体类中需要创建set<Student>的get/set方法

已采纳回答 / Forget_Me
项目中框架的版本是很重要的一环,不同的版本API也不同。所以在确定一个项目的时候,一般都会规定项目所使用的框架版本。如果升级后的构建方法再次出现变化,并且你的项目需要使用这个版本的框架,那么就只能去学习了。

最新回答 / qq_星河k_0
native是采用本地数据库的默认主键生成方式,主键没有默认值,说明你没有设置主键,或者说默认主键是null。你把Integer改为Int就行了,int值默认是0 。

最赞回答 / ,_0022
在有参构造器中还需对SET初始化,即:public Grade(String gname, String gdesc) {  super();  this.gname = gname;  this.gdesc = gdesc;  this.students = new HashSet<Student>(); }

已采纳回答 / 留夕
可以自动根据javabean生成,只需要配置hiberna.cfg.xml文件即可。配置有关的属性:hibernate.hbm2ddl.auto,我常用的两个value:create/update,其他的百度一下就有了<...code...>

已采纳回答 / 兵头儿4088639
必须将关联的表一起删除,不然就会报错,应该是外键关联的表查找不到吧

已采纳回答 / 冰与火之歌_0001
2张表,学生表,班级表,没有关联的时候,肯定是要写两次的吧

最新回答 / 哈哈小魔王
hbm.xml中配置了increment,自动增长,所以gid,sid都会自动赋值

最赞回答 / 一只丑橘
数据库中多对多的关系,一般的处理放方法是拆分关系,拆分出一张表,比如做学生选课系统,多个学生选多门课,这是多对多关系这样可以写成三个表:学生表(学号,姓名)课程表(课程号,课程名)选课表(学号,课程号)通过选课表,将学生和课程联系起来了这样就又成了一对多或多对一的关系,一般多对多的关系,不建议直接建立关系,逻辑太复杂不便于维护。
课程须知
本课程主要讲解Java中Hibernate中的关联映射,需要对Hibernate基本用法、ORM的基本概念、单表映射等相关知识有一定的基础。
老师告诉你能学到什么?
1、Hibernate关联映射的类型 2、单向一对多关联的配置 3、单向多对一关联的配置 4、cascade和inverse属性的作用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消