iteye_3008 2010-04-07 09:54
浏览 301
已采纳

hibernate 临时对象和游离对象的如何辨别

一般说来!游离对象与临时对象的区别在于:前者是由持久化对象转变过来的,因此可能在数据库中还存在对应的记录,而后者在数据库中没有对应的记录。
问题:
当一个对象(有oid)通过方法调用传过来我怎么知道这个对象是游离对象还是临时对象,怎么知道他是否由持久化对象转变而来,怎么知道数据库有没有记录(不可能去查一遍,查的话状态就变成另一种了),谢谢大家!

  • 写回答

3条回答 默认 最新

  • iteye_13500 2010-04-07 10:19
    关注

    其实仔细辨别应该是hibernate内部的事情,个人觉得hibernate内部应该有几个Map分别保留各种状态的对象,当然,这部分实现是要看hibernate源码的。

    通常的区分方式应该是看对象里有没有oid,游离状态的对象是一定有oid的,但是初始状态的对象(你说的临时对象)有可能没有oid,因为这个oid可能是有数据库或是别的方式产生的。

    关键还是看你的目的,为什么要区分这两种状态,区分的目的是什么?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!