在一个service层写了两个dao的save。我怎么获取到第一个dao保存过得到的ID,因为我要在第二个dao用。

在外的少年 2014-08-17 11:51:27
不知道我说的你们看懂没
...全文
378 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zs913956560 2014-08-18
  • 打赏
  • 举报
回复
你可以这样处理,先用个变量存储取得要插入第一条记录序列号。然后在插入第二条记录的时候,在把变量值传过去就可以了。
扎心的小青菜 2014-08-18
  • 打赏
  • 举报
回复
如果是自动增长,先查询最大的id ,保存第一个 如果成功,把id+1 直接执行第二个save 。
  • 打赏
  • 举报
回复
第一个save保存,然后用第一个的条件去查询出第一个保存的id, 然后用于第二个的save就行了
loveunittesting 2014-08-18
  • 打赏
  • 举报
回复
第一吧保存了以后,直接getId()就可以拿到insert后的id了
  • 打赏
  • 举报
回复
如果你使用的SSH的架构,直接获取对象的ID就好,如果不是,那 就需要你保存对象前,手动生成好ID,然后设置给保存的对象,这样在第二个对象也可以从对象中获取到ID
在外的少年 2014-08-18
  • 打赏
  • 举报
回复
引用 4 楼 fan578 的回复:
如果你使用的SSH的架构,直接获取对象的ID就好,如果不是,那 就需要你保存对象前,手动生成好ID,然后设置给保存的对象,这样在第二个对象也可以从对象中获取到ID
谢了!
在外的少年 2014-08-18
  • 打赏
  • 举报
回复
引用 3 楼 zs913956560 的回复:
你可以这样处理,先用个变量存储取得要插入第一条记录序列号。然后在插入第二条记录的时候,在把变量值传过去就可以了。
谢了!
在外的少年 2014-08-18
  • 打赏
  • 举报
回复
引用 2 楼 u012345283 的回复:
用的什么数据库? 如果是mysql的话,且主键为自动递增,有select LAST_INSERT_ID() oracle中貌似也用Sequence
谢了!
oarsman 2014-08-18
  • 打赏
  • 举报
回复
引用 5 楼 yys79 的回复:
第一吧保存了以后,直接getId()就可以拿到insert后的id了
同意,如果你用的hibernate来管理的话,save之后,就可以用getId得到主键了,不需要再次查询什么的。 或者干脆自己用UUID来管理主键
百里马 2014-08-17
  • 打赏
  • 举报
回复
用的什么数据库? 如果是mysql的话,且主键为自动递增,有select LAST_INSERT_ID() oracle中貌似也用Sequence
在外的少年 2014-08-17
  • 打赏
  • 举报
回复
用的是 ssh

67,512

社区成员

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

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