术语“休眠”是否意味着与ORM库有关的特定内容?背后有故事吗?
答案 0 :(得分:24)
对我来说很清楚。
一个对象被发送到休眠状态到RDBMS,当它返回时(如果有的话)它从休眠状态唤醒。
睡觉就像“Cinder6”所说,是一个短期的“等待”;更像是序列化过程,您的对象进入休眠状态并在另一个节点(或VM)中唤醒
如果一个对象被发送到数据库,它可能会等待一周,一个月,一年,然后再次被提取,因此它被发送到休眠状态。
答案 1 :(得分:4)
我的WAG:您的实体在不使用时会在数据库中“休眠”。
答案 2 :(得分:4)
Hibernate是关于“用高级对象处理函数替换与持久性相关的直接数据库访问”。所以它是关于数据库中的数据。
答案 3 :(得分:2)
我怀疑你会在这个问题上找到任何权威,但我会说这是一个合乎逻辑的选择。当你睡觉时,你可以很容易地醒来,并且会在比你冬眠时更短的时间内醒来(我现在假装你是一只熊)。由于睡眠和休眠是相似的,制造商可能想扩展这个比喻。
编辑:拍摄好,现在是关于Java库的。我的熊理论非常多。
答案 4 :(得分:2)
持久性是数据超过创建它的进程的地方。在更基本的术语中,这意味着将数据存储在非易失性存储器中(当电源关闭时不会丢失)现在,这通常采用数据库中的存储形式。
然而出现问题是因为编程语言(例如Java)存储数据并以与数据库完全不同的形式使用它。因此需要转换过程(对象到db记录),然后在检索相反的(db记录到对象)时。 Hibernate是一个自动执行整个过程的库,可以避免转换时可能出现的陷阱(称为对象关系阻抗不匹配)
因此,Hibernate有助于抽象出整个数据库元素,它几乎就像将对象放入存储中,然后在需要时进行检索 - 或者被“放入睡眠”并在需要时再次调用。