首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate Interceptor.instantiate()

Hibernate Interceptor.instantiate()
EN

Stack Overflow用户
提问于 2013-01-21 16:18:21
回答 1查看 830关注 0票数 1

我试图使用org.hibernate.Interceptor.instantiate()来拦截实例化(很明显),并使用非默认值的构造函数手动实例化特定对象。如果要读取此方法的JavaDoc,实际上,这似乎是Hibernate暴露这种事情的全部要点。

但是,给我的只是实体名称、EntityModeSerializable标识符。因此,除非我的目标是调用一个构造函数,该构造函数将ID作为其唯一参数,否则我就是SOL。如果这个方法只给我足够的信息来调用另一个(非常具体的)构造函数,它为什么会存在?如何检索其他实体属性的值?

编辑:很显然,在做了更多的工作和研究之后,我想要做的事情是不可能的。所以我接受了迈克的回答,就这样过了一天。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-21 18:30:47

调用实例化拦截器是为了允许您在设置新的映射实体属性之前提供一个自定义机制。由于该实体在调用此拦截器之前不存在,因此不可能设置它的任何属性。Hibernate在生命周期的此时知道的唯一值是实体的类型和将要分配的ID。您将使用此拦截器根据例如配置设置来更改实例实例化,而不是根据实例化后将设置的属性值来更改实例实例化。

你想用这个来完成什么?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14442807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档