请教一个hibernate的保存一对多实例的问题。

courage9 2012-03-30 05:29:23
假如我在数据库有class和student两个表,他们是一对多的关系,设置了外键,映射等该设置的都OK了。我现在创了两个student实例S1 S2里面都有数据,然后添加到class的实例C1里面,最后,我调用classDAO的保存C1,提交。最后我打开后台数据库查看,class表里面确实保存信息了,但是student表里面还是空的。我想问下是不是保存C1的时候,还要再写一句话保存S1和S2,这样两个表里面才都有数据。如果是这样的话,为什么我看到的很多书上的例子,都是只保存了C1,然后S1和S2貌似也都自动保存了。请教下hibernate会自动保存一对多的这种实例吗?
...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dokia123 2012-03-31
  • 打赏
  • 举报
回复
LZ,这个你要设置一下级联策略,CascadeType这个玩意,比如CascadeType.ALL表示所有的操作都会进行级联操作,你保存的时候会将关系链的另一面也持久化到数据库。
clickgenius 2012-03-30
  • 打赏
  • 举报
回复
请教下hibernate会自动保存一对多的这种实例吗?
答:会自动保存。两个方向设置好,save一个,另一方也存了。
clickgenius 2012-03-30
  • 打赏
  • 举报
回复
student类里面应该有class的引用,这个也得set,你只做了一个方向。
宏Lee 2012-03-30
  • 打赏
  • 举报
回复
你应该是保存student,但是在保存student之前要把class set给student

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧