永发信息网

hibernate级联插入的问题

答案:5  悬赏:40  手机版
解决时间 2021-02-16 08:38
比如有两张表 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的方式容易产生多次查询,效率有问题,有没有效率高点的方案呢
最佳答案
楼主 不用去查询 你只用 new Group(id); 赋值给 person的 group 即可 保存
全部回答
先根据group_id查询到group 然后将查询到的group赋给person中的group 最后保存group
效率更高一点的就是不用Hibernate,直接操作数据库
原因很简单,没有设置级联关系 我且理解你的程序是不能运行的 在一方set标签中设置 cascade="save-update",就ok了 设置级联之后还是要update,不过会先insert多的一方
在hbm.xml配置文件中的many-to-one中添加cascade="save"就可以进行级联添加 或者配置一个set元素,将inverse="true"并配置cascade=“save”
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
空间直角坐标系中,两个平面的方程,相减之后的
唯美花艺地址在什么地方,想过去办事
闻韶苑(南门)在什么地方啊,我要过去处理事情
极速钱包怎么续期
书画工具中哪一种以广东肇庆出产最有名?
新蔡县驻马店梵月瑜伽新蔡分院在什么地方啊,
【净胜球怎么算】足球里的净胜球如何计算?
中国农业银行的卡,发信息说卡过期是怎么一回
惠安宝岛眼镜黄塘店这个地址在什么地方,我要
我的中国农业银行卡的密码忘记了可以去任意网
迅捷科技开发有限公司我想知道这个在什么地方
东莞常平黄泥塘幸福路华涵电子厂的邮编是多少
如图为某森林生态系统碳循环示意图,图中A、B
投诉海事部门乱收费找哪个部门投诉
古筝在家里弹会影响周围的邻居休息吗?
推荐资讯
斯得雅的衣服怎么样,有熟悉的么
想知道:哈尔滨市 六路公交车早几点发车 哈尔
茶尚空间地址有知道的么?有点事想过去
茅箭区十堰中国银行(大学城支行)地址在什么地
太阳岛旱冰场在什么地方啊,我要过去处理事情
中国传媒大学-26号楼地址在什么地方,想过去
歌曲里有人家叫我二百五·黄赌毒是什么歌曲
村长的后院有声小说mp3
天津市社会保险个人缴费20%后有多少比例记入
卓五行属什么
人口容量的特点有A. 相同性、临界性、警戒性B
梅县区中医医院有嘉应学院实习生吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?