比如有两张表 group和person,他们是一对多关系,person里有一个字段group_id,关联的group表中的主键id,现在我有一个person对象,要把他存到数据库中,只知道它对应的group对象的id,不知道group的name,应该怎么存的(hibernate解决方案)
public class Person{
private int id;
private String name;
private Group group;
//get()/set()省略
}
public class Group{
private int id;
private String name;
//get()/set()省略
}
通过group_id先查到group然后在赋给person的方式容易产生多次查询,效率有问题,有没有效率高点的方案呢
hibernate级联插入的问题
答案:5 悬赏:40 手机版
解决时间 2021-02-16 08:38
- 提问者网友:战皆罪
- 2021-02-15 13:06
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-02-15 13:34
楼主 不用去查询 你只用 new Group(id); 赋值给 person的 group 即可 保存
全部回答
- 1楼网友:逃夭
- 2021-02-15 15:36
先根据group_id查询到group 然后将查询到的group赋给person中的group 最后保存group
- 2楼网友:污到你湿
- 2021-02-15 15:05
效率更高一点的就是不用Hibernate,直接操作数据库
- 3楼网友:独钓一江月
- 2021-02-15 14:35
原因很简单,没有设置级联关系
我且理解你的程序是不能运行的
在一方set标签中设置 cascade="save-update",就ok了
设置级联之后还是要update,不过会先insert多的一方
- 4楼网友:夜风逐马
- 2021-02-15 13:46
在hbm.xml配置文件中的many-to-one中添加cascade="save"就可以进行级联添加
或者配置一个set元素,将inverse="true"并配置cascade=“save”
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯