「已注销」 2019-03-31 09:48
浏览 201

hibernate数据一对多,多对一关系维护问题

Hibernate: insert into dep (depname, depid) values (?, ?)
Hibernate: insert into emp (ename, did, eid) values (?, ?, ?)

注:dep表对应pojo类部门 emp表对应pojo类员工
depname:部门名字 ename:员工名
depid:部门id,主键 eid:主键
开头为由“多”的一方即员工表维护多对一关系 且session先save(部门)再save(员工)打印的sql语句
问1:在“多”的一方维护关系时,控制台打印两条insert语句 但是没有进行select查询第二条insert是怎么得到部门id的?

问2:当session先保存多的一方时,控制台打印
Hibernate: select dep_.depid, dep_.depname as depname0_ from dep dep_ where dep_.depid=?
Hibernate: insert into emp (ename, did, eid) values (?, ?, ?)
Hibernate: insert into dep (depname, depid) values (?, ?)
Hibernate: update emp set ename=?, did=? where eid=?

四条语句

第一条select语句的作用是什么?这时候有没有插入部门数据,执行顺序不明白。。
求教数据是怎么一步步保存到数据库的

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
    • ¥15 关于arduino编程toCharArray()函数的使用
    • ¥100 vc++混合CEF采用CLR方式编译报错
    • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
    • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
    • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
    • ¥50 如何openEuler 22.03上安装配置drbd
    • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
    • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
    • ¥15 Windows11, backspace, enter, space键失灵