怎样在oracle中用UUID主键(hibernate配置)向一张表中插入一条数据,然后马上取出这条数据的id

我的思路是这样的,不用session.save()方法,另用sql="insertinto....",然后自己生成一个uuid,手动往里边插,然后就可以确切的知道刚才插入... 我的思路是这样的,不用session.save()方法,另用sql="insert into....",然后自己生成一个uuid,手动往里边插,然后就可以确切的知道刚才插入的这条数据的id了。不知道还有没有其他的方法呢 展开
 我来答
jiangrujie2005
2011-12-26 · TA获得超过819个赞
知道小有建树答主
回答量:447
采纳率:0%
帮助的人:344万
展开全部
在session.save(object);后边输出一下
object.getId()应该就是这条记录的ID
更多追问追答
追问
呵呵,用session.save()不管你的object的id有没有值,它都是由hibernate另生成uuid的
追答
uuid不是hibernate生成的,是数据库生成的,UUID是生成主键的一个算法,还有高低算法,native算法等(可以去看看搜一下,不同的数据支持不同的算法,一般都支持的算法是native算法)。数据库根据不同的算法选择自动生成主键。
你调用session.save()以后,在把事物提交,这个主键已经生成并存放在数据库里边了,你在调用对象通过getter方法获取刚刚保存的对象的主键就行了。
具体的就是:
session.save(object);
session.getTransaction().commit();
System.out.println(object.getId());
你可以试试,打印最后一句话返回的ID是否为空,或者你认为已经有值,你可以通过这个获取的值在反过来从数据库查询看是不是你存放的对象。如果你还认为是巧合,你可以多试验几次。。。
d15200369539
2011-12-26
知道答主
回答量:6
采纳率:0%
帮助的人:9881
展开全部
学习了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式