gpt4 book ai didi

java - Hibernate拦截器.instantiate()

转载 作者:行者123 更新时间:2023-11-30 04:31:54 25 4
gpt4 key购买 nike

我正在尝试使用 org.hibernate.Interceptor.instantiate() 来拦截实例化(显然)并使用默认构造函数之外的构造函数手动实例化特定对象。如果要阅读此方法的 JavaDoc,实际上,这似乎就是 Hibernate 公开此类内容的全部意义。

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

编辑:显然,经过更多的工作和研究,我想做的事情是不可能的。所以我只是接受了迈克的回答,然后就到此为止了。

最佳答案

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

你想用这个来实现什么目的?

关于java - Hibernate拦截器.instantiate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14442807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com