休眠中哪些是分离的,持久的和短暂的对象?请举例说明。
甲new
其不与相关联的永久类的实例Session
,有在数据库中没有表示和没有标识符值被认为是 瞬时 的休眠:
Person person = new Person();
person.setName("Foobar");
// person is in a transient state
甲 持久 实例具有在数据库中的表示,标识符值,并与一个相关联Session
。您可以通过将瞬态实例与关联来使其
持久化Session
:
Long id = (Long) session.save(person);
// person is now in a persistent state
现在,如果我们close
使用Hibernate Session
,则持久化实例将成为一个 分离的
实例:它不再附加到实例上Session
(但是仍然可以修改,但是Session
稍后再附加到新实例上)。
在整个第10章中,所有这些内容都得到了清晰的解释。使用
Hibernate文档的对象,上面只是我的解释。绝对是必读的。
问题内容: hibernate中哪些是分离的,持久的和短暂的对象?请举例说明。 问题答案: 甲其不与相关联的永久类的实例,有在数据库中没有表示和没有标识符值被认为是 瞬时 的hibernate: 甲 持久 实例具有在数据库中的表示,标识符值,并与一个相关联。您可以通过将瞬态实例与关联来使其 持久化 : 现在,如果我们使用Hibernate ,则持久化实例将成为一个 分离的 实例:它不再附加到实例上
问题内容: 我有一个应用程序想要对与Hibernate和/或持久性有关的可能问题进行测试验证。 还有什么其他问题? 我如何(从字面上)复制它们?您如何从他们那里康复呢? 明确地说:我正在谈论多线程集群环境(最复杂的集群环境)。 我的唯一: 复制: 加载对象。 使用HQL进行更新。 尝试更新(保存)已加载的对象。 句柄:不确定… 问题答案: 延迟加载是您将遇到的主要问题之一,尤其是如果遵循标准的DA
问题内容: 我有一个数据库视图,该视图产生的结果集没有真正的主键。我想使用Hibernate / Persistence将结果集映射到Java对象上。当然,因为没有PK,所以我不能用修饰任何字段。 部署时,Hibernate抱怨缺少该组件。我该如何解决? 问题答案: 如果存在使行唯一的列组合,请围绕列组合建模主键类。如果没有,您基本上就不走运了-但您应该重新检查视图的设计,因为它可能没有意义。 有
问题内容: 在我的MySQL数据库中,有“ gender enum(’male’,’female’)”列 我创建了枚举“ com.mydomain.myapp.enums.Gender”,并在我的实体中定义了“性别”。 现在,我想将枚举类型保留在我的MySQL数据库中,但是当我启动应用程序时,我得到: 性别列在MyApp.Person中的列类型错误。找到:枚举,预期:整数 为什么是这样?就像我用“
问题内容: 我对Hibernate还是很陌生,一直在尝试确定它将为您做什么以及需要您做什么。 最重要的是处理一个对象,该对象具有数据库中尚不存在的依赖项。例如,我有一个Project对象,其中包含一个Manufacturer字段,该字段接受Manufacturer对象作为其值。在数据库中,我有一个带mfr_id列的产品表,该列是对Manufacturers表的引用(一种相当典型的单向一对多关系)。
问题内容: 我用hibernate映射的对象具有奇怪的行为。为了知道对象为何表现异常,我需要知道是什么使该对象变脏了。有人可以帮我提示吗? 该对象是Java / Spring上下文中的Java类。因此,我希望针对Java平台的答案。 编辑:我想获得对Hibernate脏状态的访问以及它如何在连接到会话的对象上更改。我不知道一段代码会对您有什么帮助。 至于实际的问题:在由Spring Transac