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条)

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)