gpt4 book ai didi

java - hibernate 代理

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:54 24 4
gpt4 key购买 nike

我正在使用 hibernate 来实现持久性。在我的数据访问层中,我根据场景指定要预先加载的结果的某些部分。

现在我需要将这些结果作为 JAX WS 响应发送。

有什么方法可以让我有一些更简洁的方法,它会接受一个实体对象,遍历它,并将 null 设置为未初始化的字段,这样 hibernate 就不会抛出 LazyInitializationException 当对象被传递到 web 服务层时。

或者有没有其他方法可以解决这个问题。

最佳答案

有这样的东西 Hibernate#initialize()您可以在加载实体后在 Activity session 中运行它,但它将在您传递的实体(或集合)的根级别初始化字段/引用——以防实体是 Hibernate 代理。正如 JavaDoc 所述:

Note: This only ensures intialization of a proxy object or collection; it is not guaranteed that the elements INSIDE the collection will be initialized/materialized.

将 NULL 分配给未初始化的字段不是一个好方法,因为它会破坏数据一致性(如果有人访问这些字段,那么他们应该返回实际值)。

关于java - hibernate 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15388256/

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