Java Hibernate-在预加载事件时使字段处于瞬态状态
我有一个非常复杂的实体,我希望分两个阶段加载:Java Hibernate-在预加载事件时使字段处于瞬态状态,java,hibernate,reflection,Java,Hibernate,Reflection,我有一个非常复杂的实体,我希望分两个阶段加载: 加载所有业务数据 加载所有元数据 我想分开装货 我能否仅使用反射API在运行时将字段声明为@Transient? 我尝试使用预加载事件,但找不到如何设置字段瞬态 谢谢 Idob您不能在运行时使用反射更改Java中的任何注释。关于如何使用Javassist添加注释的一个示例是。您不能在运行时使用反射更改Java中的任何注释。关于如何使用Javassist添加注释的示例如下。1)注释信息是java类信息的一部分。您不能在运行时进行更改。 当然,您可以生
Idob您不能在运行时使用反射更改Java中的任何注释。关于如何使用Javassist添加注释的一个示例是。您不能在运行时使用反射更改Java中的任何注释。关于如何使用Javassist添加注释的示例如下。1)注释信息是java类信息的一部分。您不能在运行时进行更改。 当然,您可以生成一些字节码生成工具:或者在运行时生成类并加载适当的实体实现。但它看起来像是丑陋的黑客。此外,该解决方案相当复杂且不稳定 2) 尽量不要在应用程序中进行黑客攻击并增加复杂性。最好重构现有的域模型。考虑Wy,你需要几个固定的表示域。 3) 此外,若您确实需要实体的弱结构,您可以将实体序列化为XML或二进制格式,并以文本(或者您的DB支持)或Blob的形式存储在DB中
如果你有一个LaZyPrimalIALIZATION异常的问题,并且开发Web应用程序,尝试考虑模式。Hibernate将为每个请求创建一个Hibernate会话。因此,您可以在一个请求中使用Hibernate对象进行操作,而不必考虑LazyInitializationException。
1)注释信息是java类信息的一部分。您不能在运行时进行更改。 当然,您可以生成一些字节码生成工具:或者在运行时生成类并加载适当的实体实现。但它看起来像是丑陋的黑客。此外,该解决方案相当复杂且不稳定 2) 尽量不要在应用程序中进行黑客攻击并增加复杂性。最好重构现有的域模型。考虑Wy,你需要几个固定的表示域。 3) 此外,若您确实需要实体的弱结构,您可以将实体序列化为XML或二进制格式,并以文本(或者您的DB支持)或Blob的形式存储在DB中如果你有一个LaZyPrimalIALIZATION异常的问题,并且开发Web应用程序,尝试考虑模式。Hibernate将为每个请求创建一个Hibernate会话。因此,您可以在一个请求中使用Hibernate对象进行操作,而不必考虑LazyInitializationException。
您不是在说懒惰而不是暂时的吗?您不是在说懒惰而不是暂时的吗?我认为他也应该考虑懒惰加载