如何将 Hibernate 代理转换为真实的实体对象

2024-01-11

冬眠期间Session,我正在加载一些对象,其中一些由于延迟加载而作为代理加载。一切都好,我不想关闭延迟加载。

但后来我需要通过 RPC 将一些对象(实际上是一个对象)发送到 GWT 客户端。而这个具体对象恰好是一个代理。所以我需要把它变成一个真实的物体。我在 Hibernate 中找不到像“materialize”这样的方法。

如何将某些对象从代理转换为知道其类和 ID 的实数?

目前我看到的唯一解决方案是从 Hibernate 的缓存中逐出该对象并重新加载它,但由于多种原因,它确实很糟糕。


这是我正在使用的一种方法。

public static <T> T initializeAndUnproxy(T entity) {
    if (entity == null) {
        throw new 
           NullPointerException("Entity passed for initialization is null");
    }

    Hibernate.initialize(entity);
    if (entity instanceof HibernateProxy) {
        entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer()
                .getImplementation();
    }
    return entity;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Hibernate 代理转换为真实的实体对象 的相关文章

  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • 了解 netty 通道缓冲区和水印

    我正在尝试了解网络缓冲区和水印 作为一个测试用例 我有一个 netty 服务器 它向客户端写入数据 客户端被阻止 基本上每次读取之间有 10 秒的睡眠时间 在正常 I O 下 如果接收方被阻塞 TCP 发送方将受到限制 由于流量控制 发送速
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • 为什么通过 方法向 List 添加元素(类型正确)会出现编译错误? [复制]

    这个问题在这里已经有答案了 我对泛型通配符概念几乎没有疑问 1 假设我有一个方法 void write List
  • 获取Android库中的上下文

    我正在编写一个 Android 应用程序 它的一些功能封装在内部库中 但是 要使此功能发挥作用 库需要一个应用程序上下文的实例 为图书馆提供这种上下文的最佳方式是什么 我看到了一些选择 但没有一个有吸引力 Have my library c
  • Selenium 和 TestNG 同时使用“dependsOn”和“priority =”问题

    我正在努力在 GUI 自动化测试中实现更好的工作流程控制 我首先从dependsOn开始 但很快发现缺点是如果一个测试失败 则套件的整个其余部分都不会运行 所以我改用 priority 但看到了意外的行为 一个例子 Test priorit
  • 使用 kryo 注册课程的策略

    我最近发现了 kryonet 库 它非常棒并且非常适合我的需求 然而 我遇到的一个问题是制定一种好的策略来注册所有可以转移的类 我知道我可以在每个对象中编写一个静态方法 该方法将返回它使用的所有类的列表 但我真的不想这样做 为了我自己的时间
  • JPA - OneToOne 外键作为主键

    我有一个表 需要其主键作为其他表的外键 因此是单向的一对一关系 每本书只有一个作者 如下所示 Entity public class Author Id String code getters and setters Entity publ
  • java项目中无法加载类“org.slf4j.impl.StaticLoggerBinder”错误? [复制]

    这个问题在这里已经有答案了 我越来越Failed to load class org slf4j impl StaticLoggerBinder 错误 我想将记录器写入文件 所以我使用了 log4j jar 并使用 apache tomca
  • for循环中更新JLabel的问题

    我的程序的想法是从之前在其他 JFrame 中保存的列表中选择一个名称 我想在标签中一个接一个地打印所有名称 它们之间有很小的延迟 然后停在其中一个名称上 问题是lbl setText String 如果有多个则不起作用setText co
  • 在Java中如何将字节数组转换为十六进制?

    我有一个字节数组 我希望该数组的每个字节字符串转换为其相应的十六进制值 Java中有没有将字节数组转换为十六进制的函数 byte bytes 1 0 1 2 3 StringBuilder sb new StringBuilder for
  • ActiveMQ JNDI 查找问题

    尝试使用 JNDI 运行以下 ActiveMQ http activemq apache org jndi support html http ActiveMQ 20JNDI 并且我的 jboss server node lib 文件夹中有
  • 错误膨胀类 android.support.design.widget.NavigationView [启动时崩溃]

    该应用程序应该有一个导航抽屉 可以从左侧拉出并显示各种活动 但是一旦将导航栏添加到 XML Activity homescreen 文档中 应用程序一启动就会崩溃 主屏幕 java package com t99sdevelopment c
  • JPA Web 应用程序管理策略

    我们目前正在开发一个 J2EE Web 应用程序 使用 JPA 作为我们的数据访问层 我们目前正在研究几种不同的策略来在我们的应用程序中利用缓存 Create an EntityManager per request 在请求范围内获取缓存
  • Janusgraph 0.3.2 + HBase 1.4.9 - 无法设置 graph.timestamps

    我在 Docker 容器中运行 Janusgraph 0 3 2 并尝试使用运行 HBase 1 4 9 的 AWS EMR 集群作为存储后端 我可以运行 gremlin server sh 但如果我尝试保存某些内容 我会得到粘贴在下面的堆
  • 为什么 java.util.Arraylist#clear 按照 OpenJDK 中的方式实现?

    http grepcode com file repository grepcode com java root jdk openjdk 6 b14 java util ArrayList java 473 http grepcode co
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • 如何在J2ME中获取数字的幂[重复]

    这个问题在这里已经有答案了 可能的重复 J2ME power double double 数学函数实现 https stackoverflow com questions 2076913 j2me powerdouble double ma
  • 如何使用socket.io发送图像文件(二进制数据)?

    我无法从以下位置发送数据Android Client to NodeJS Server I use Socket IO 客户端 https github com socketio socket io client java我的客户端中的ja

随机推荐

  • 如何在Python3中解码编码文字/字符串的numpy数组? AttributeError:'numpy.ndarray'对象没有属性'decode'

    在Python 3中 我有以下内容NumPy的数组strings Each string in the NumPy数组的形式为b MD18EE代替MD18EE 例如 import numpy as np print array1 b fir
  • 如何在.NET Core 3.0中为WPF应用程序引用System.Windows.Forms?

    我正在将 WPF 桌面应用程序从 NET Framework 迁移到 Core 3 0 我正在使用 System Windows Forms FolderBrowserDialog 现在我陷入了如何将此引用添加到 Core 项目的困境 没有
  • Pine Script:如何在每次价格更新时在标签上的图表时区中显示当前时间?

    我试图做一些看似微不足道的事情 但却遇到了各种各样的问题 每次当前价格更新时 我都想在标签上绘制某些基本信息 无论我的图表的时间范围如何 我能够准确地显示数量和价格信息 但是显示时间一直是一个挑战 我的第一次尝试是使用以下代码 if bar
  • 在 SCNShadable 入口点之间传递值

    在 OpenGL 程序中 您通常会在顶点着色器中声明类似的内容 varying bool aBooleanVariable 然后读取片段着色器中的值 你如何在一个框架内做到这一点 SCNShadable入口点 例如来自SCNShaderMo
  • 无法连接到kafka服务器

    我尝试使用 Kafka 0 9 0 版本和端口 9092 如果我使用telnet 我成功连接到这个地址 但我无法使用 Java API 连接到 Kafka 服务器 这是我的 Java 示例 完全使用官方提供的文档 Properties pr
  • 在 Haskell 中建模域数据[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在使用 Haskell 设计一个更大的 Web 应用程序 这纯粹是为了我的教育和兴趣 我首先写出我的域 值对象 一个例子是用户 这是我到目前
  • csv 文件中的反斜杠

    在我的应用程序中 我通过 sql 中的 load data local infile 文件名命令将 csv 文件读入数据库 如果某个字段中出现反斜杠 则相邻字段将被合并 将文件读入数据库时 如何忽略反斜杠 Example abcd efgh
  • 选择正确的方法在 android 中实现 google 地图

    我计划在 android 中创建一个具有以下功能的应用程序 显示源到目的地路线 显示反向路线 显示交通数据 显示备用路线 存储用户数据 除此之外 我想使用一些 Android 本机控件 例如图像按钮 文本框 地图上的对话框 现在在回顾这个之
  • Python模拟多个返回值

    我正在使用 pythons mock patch 并希望更改每个调用的返回值 这是警告 正在修补的函数没有输入 因此我无法根据输入更改返回值 这是我的代码供参考 def get boolean response response io pr
  • 什么是间接对象表示法,为什么它不好,以及如何避免它?

    标题几乎概括了这一点 但无论如何 这是长版本 在发布一小段 Perl 代码后 我被告知要避免间接对象表示法 因为它有几个副作用 该评论引用了这一行 my some object new Some Module FIELD gt value
  • 动态删除 org.hibernate.Criteria 中结果集的排序

    我有一个标准 Criteria criteria session createCriteria Libro class addOrder Order asc ID 但是 当我想要获取行计数失败时 criteria setProjection
  • CKEditor 不需要的字符

    如何禁用 CKEditor 每次都获取我的信息 nbsp 当我不想要它们时 我正在使用 CKEditor 和 jQuery 适配器 我不想有任何 nbsp tags 经过一些研究后 我可能会对这个问题有所了解 不幸的是没有现成的解决方案 在
  • NPM 警告“无存储库字段”,但我没有存储库

    我在家里使用node js 没有存储库 只是闲逛 但当我跑步时npm 安装 我得到无存储库字段如本文中讨论的警告其他问题线索 https stackoverflow com questions 16827858 npm warn packa
  • 实体框架与多个表/实体的并发

    我了解如何使乐观并发与实体框架一起用于单个表 但是如果我想在多个表之间实现乐观并发 情况又如何呢 为了说明我的意思 我将使用一个例子 车桌 轮表 汽车外键 每辆车多个轮子 当服务人员从汽车上添加 删除车轮时 如何管理并发性 在 Car 中添
  • android:如何从strings.xml中的字符串数组获取项目的属性

    我爸爸喜欢看他的电影 而且他有很多电影 他将光盘存放在多个活页夹中 但根本没有编目系统 我想我应该制作一个 Android 应用程序来帮助他找到它们 所以我认为 id 将信息存储在 strings xml 中的字符串数组中
  • 抄书UVa Online Judge动态规划解决方案

    我可以解决使用二分查找法 因为它很容易实现 但我刚刚开始解决动态规划问题 我想知道该问题的动态规划解决方案 在书籍印刷发明之前 制作书籍非常困难 一本书的副本 所有的内容都必须由手写重写 所以 称为抄写员 抄写员收到了一本书 经过几次之后
  • 从 proguard 中排除软件包

    在 proguard cfg 中排除父包后 如何包含一些包 Ex keep com myapp 我希望混淆 com myapp data 您可以使用 ProGuard 风格的正则表达式作为类名 keep class com myapp da
  • Google 电子表格 - 从下拉项填充行

    我正在为我兄弟的建筑公司创建一个 Google 文档电子表格 这是为了帮助他提供潜在工作的报价 这样他就可以控制成本 我有三张表 报价 设置 产品 报价将包含实际的逐项报价 设置将包含一些静态值 例如增值税 产品包含产品的实际成本 即木材
  • 从条目具有不同长度的字典创建数据框

    假设我有一本包含 10 个键值对的字典 每个条目都包含一个numpy array 然而 该长度array对他们来说并不相同 我如何创建一个数据框每列持有不同的条目 当我尝试时 import pandas as pd import numpy
  • 如何将 Hibernate 代理转换为真实的实体对象

    冬眠期间Session 我正在加载一些对象 其中一些由于延迟加载而作为代理加载 一切都好 我不想关闭延迟加载 但后来我需要通过 RPC 将一些对象 实际上是一个对象 发送到 GWT 客户端 而这个具体对象恰好是一个代理 所以我需要把它变成一