请问Hibernate插入数据时返回ID,JPA/EntityManager不返回,有什么好办法获取它么?

时间:2021-02-10 14:43:33
在Hibernate里插入数据时,我们用的是Long id = (Long) session.save(object);
而在JPA里EntityManager类所对应的方法却是void em.persist(object)。

除了插入后再去query一下之外,请问有没有什么好办法可以获取ID呢?谢谢。

13 个解决方案

#1


请问有没有什么好办法可以获取ID呢?

获取 id?
save完object后 ,object就已经拥有id了 
你可以直接obj.getID()就可以获得了(前提是 你的bean有id属性 并有相应的getter/setter method)

#2


插入后,对象的id就被设置上了啊,从你保存后的那个对象中去取。

#3


确实如此,多谢

#4


传说 每天回帖即可获得 10 分可用分!! 请问Hibernate插入数据时返回ID,JPA/EntityManager不返回,有什么好办法获取它么?

#5


...楼上的说的是不是真的??

#6


不知道啊,,不过我想知道,那个hibernate save对象后,怎么获取。他返回的那个id...

#7


~~~~~

#8


真的哎 同样一个bean保存之前没有id 保存之后就有id了。什么原理呢?什么时候调用的setid 哪位高手帮忙解答一下?

#9


该回复于2011-03-24 17:25:25被版主删除

#10


传说 每天回帖即可获得 10 分可用分!!

#11


当如果是 多个用户 做相同的操作。那又怎么办呢?

#12


该回复于2011-11-09 09:29:52被版主删除

#13


该回复于2012-05-14 14:23:48被版主删除

#1


请问有没有什么好办法可以获取ID呢?

获取 id?
save完object后 ,object就已经拥有id了 
你可以直接obj.getID()就可以获得了(前提是 你的bean有id属性 并有相应的getter/setter method)

#2


插入后,对象的id就被设置上了啊,从你保存后的那个对象中去取。

#3


确实如此,多谢

#4


传说 每天回帖即可获得 10 分可用分!! 请问Hibernate插入数据时返回ID,JPA/EntityManager不返回,有什么好办法获取它么?

#5


...楼上的说的是不是真的??

#6


不知道啊,,不过我想知道,那个hibernate save对象后,怎么获取。他返回的那个id...

#7


~~~~~

#8


真的哎 同样一个bean保存之前没有id 保存之后就有id了。什么原理呢?什么时候调用的setid 哪位高手帮忙解答一下?

#9


该回复于2011-03-24 17:25:25被版主删除

#10


传说 每天回帖即可获得 10 分可用分!!

#11


当如果是 多个用户 做相同的操作。那又怎么办呢?

#12


该回复于2011-11-09 09:29:52被版主删除

#13


该回复于2012-05-14 14:23:48被版主删除