获取JPA实体版本的通用方法

2024-01-20

我有一个未知的 JPA 实体,需要知道它的版本。我找不到一种通用的方法来做到这一点。

我尝试了元模型,但不知道要传递给 getVersion() 方法的内容:

Object entity = ...;
Metamodel metamodel = entityManager.getMetamodel();
IdentifiableType<?> metaClass = 
    (IdentifiableType<?>)metamodel.managedType(entity.getClass());
metaClass.getVersion(<what to put here?>);

相同的模式用于metaClass.getId(),但还有一个补充方法getIdType() -- getVersionType()不见了。

其次,有entityManagerFactory.getPersistenceUnitUtil().getIdentifier(entity)方法,但不是getVersion(entity) method.

有没有办法从未知实体获取版本?


只是比 try/catch 的答案更干净一点:

public static SingularAttribute<?, ?> getVersionAttribute(ManagedType<?> managedType) {
    if (!(managedType instanceof IdentifiableType<?>))
        return null;

    IdentifiableType<?> identifiableType = (IdentifiableType<?>)managedType;
    if (!identifiableType.hasVersionAttribute())
        return null;

    for (SingularAttribute<?, ?> attribute : identifiableType.getSingularAttributes()) {
        if (attribute.isVersion())
            return attribute;
    }
    return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取JPA实体版本的通用方法 的相关文章

  • 如何用Java写入OS系统日志?

    Mac OS 有一个名为 Console 的应用程序 其中包含记录的消息 错误和故障 我相信 Windows 中的等效项是事件查看器 我想 Linux 上也有一个 但我不知道它是什么 也不知道它在哪里 是否可以像这样从 Java 输出获取消
  • 正确配置JDK环境变量后仍然找不到java命令

    我在 Windows 虚拟机启动时安装 JDK 使用 cloudinit 用户数据将 PowerShell 脚本传输到 Windows 计算机 然后运行该脚本来安装 JDK softwares Get ItemProperty HKLM S
  • Java Sqlite Gradle

    我对 gradle 和 java 还很陌生 我有一个使用 sqlite 的项目 它通过 intellij idea 运行良好 但我无法从终端运行它 它会抛出异常 java lang ClassNotFoundException org sq
  • 如何防止在 CXF Web 服务客户端中生成 JAXBElement

    我正在尝试使用 CXF 创建一个 Web 服务客户端来使用 WCF Web 服务 当我使用 wsdl2java 时 它生成具有 JAXBElement 类型而不是 String 的对象 我读到有关使用 jaxb bindings xml 文
  • 从剪贴板获取图像 Awt 与 FX

    最近 我们的 Java FX 应用程序无法再从剪贴板读取图像 例如 用户在 Microsofts Paint 中选择图像的一部分并按复制 我不是在谈论复制的图像文件 它们工作得很好 我很确定它过去已经有效 但我仍然需要验证这一点 尽管如此
  • BigDecimal 的 JPA @Size 注释

    我该如何使用 SizeMySQL 的注释DECIMAL x y 列 我在用着BigDecimal 但是当我尝试包括 Size max它不起作用 这是我的代码 Size max 7 2 Column name weight private B
  • 通过 JNI 从 Applet 调用 DLL

    我有一个 概念验证 的作品 它跨越了一些不熟悉的领域 我的任务是将 EFTPOS 机器连接到在内联网浏览器中作为小程序运行的应用程序 我暂时忽略了 EFTPOS dll 并用我选择的语言 Delphi 创建了一个简单的 JNI 修饰的 DL
  • 带有面板的 Java Swing JToolbar:外观和感觉

    我有一个JToolbar其中包含多个JPanels 需要 因为我希望每个都有特定的边界 不幸的是 外观管理器无法识别JPanels属于工具栏和JButtons因此 渲染器与普通按钮一样 即没有工具栏上的特殊鼠标悬停效果 更换JPanels
  • 无法在 Mac OS X 上启动应用程序 我收到错误 LSOpenURLsWithRole() 应用程序失败,错误为 -10810

    问题 我正在尝试启动一个应用程序 遗传网络分析仪 http www genostar com category products gna 但它默默地失败了 使用时open gna app产生以下错误消息 LSOpenURLsWithRole
  • 如何使用 Spring MVC 和 Thymeleaf 添加静态文件

    我的问题是如何添加 CSS 和图像文件等静态文件 以便我可以使用它们 我正在使用 Spring MVC 和 Thymeleaf 我查看了有关此主题的各种帖子 但它们对我没有帮助 所以我才来问 根据这些帖子 我将 CSS 和图像文件放在res
  • MessageDigest MD5 算法未返回我期望的结果

    我脑后的某个东西告诉我 我在这里遗漏了一些明显的东西 我正在将现有的 java 项目与第三方 api 集成 该第三方 api 使用 api 密钥的 md5 哈希进行身份验证 它对我不起作用 在调试过程中我意识到我生成的哈希值与他们提供的示例
  • 在多模块项目中访问绑定适配器

    我有一个多模块项目 其中应用程序模块包含我的绑定适配器 而我的功能模块取决于我的应用程序模块 因为它是动态功能模块 应用程序 包含绑定适配器 gt 动态功能模块 存在布局的地方 我在所有模块中启用了数据绑定和 kapt 我无法成功构建应用程
  • Hibernate @OneToMany 注释到底是如何工作的?

    我对 Hibernate 还很陌生 我正在通过教程学习它 我在理解到底如何一对多注释作品 所以我有这两个实体类 Student代表一个学生并且Guide代表指导学生的人 因此 每个学生都与一名向导相关联 但一名向导可以跟随多个学生 我想要一
  • 为什么 RMI 注册表忽略 java.rmi.server.codebase 属性

    我正在运行 java RMI 的 Hello World 示例 1 我在空文件夹中运行注册表 motta motta laptop tmp rmiregistry 2 我启动 HTTP 服务器以在运行时检索类 下载文件夹包含客户端 服务器的
  • setKeyListener 将覆盖 setInputType 并更改键盘

    大家好 我在两个设备之间遇到问题 在实践中使用InputType和KeyListener我正在操纵一个EditText让它从数字键盘接收逗号和数字 有关更多背景信息 请检查我之前的question https stackoverflow c
  • 如何使用maven创建基于spring的可执行jar?

    我有一个基于 Maven 的 Spring WS 客户端项目 我想将其打包为单个 jar 在eclipse中 一切运行正常 当我尝试将其打包为可执行 jar 时 我收到 ClassNotFound 异常 因为 Spring jar 未包含在
  • BoneCP 和 Derby - 如何正确关闭

    I have BoneCP CONNECTION POOL CONNECTION POOL getConfig setJdbcUrl jdbc derby database shutdown true Connection connecti
  • java数据结构模拟数据树

    我需要帮助定义使用什么方法 我有一个 SOAP 响应 给我一个 xml 文件 我需要在屏幕上显示 3 个相关列表 当您在第一个列表中选择一个项目时 相应的选择将出现在第二个列表中 依此类推 我只对从 xml 流中提取数据后如何有效地组织数据
  • 当我在 Java 中输入 IP 时无法连接到我的服务器

    好的 我正在尝试学习 Java 客户端 服务器的内容 并且正在浏览教程代码 如下所示 当我将 localhost 更改为我的 IP 时 它会停止工作 请帮忙 编辑 127 0 0 1 似乎也可以工作 但不是我的真实IP Copyright
  • 在多线程环境中,Collections.sort 方法有时会抛出 ConcurrentModificationException。列表没有进行结构性修改

    package CollectionsTS import java util ArrayList import java util Collections import java util HashSet import java util

随机推荐

  • read_excel() 和 lapply()

    我有一个 xlsx文件有两个工作表 我想使用生成两个 Excel 工作表的列表read excel from readxl包裹 我用过这个代码 my work lt lapply excel sheets data xlsx read ex
  • Rails 4 带有 fields_for 的嵌套属性不保存到数据库

    我想使用accepts nested attributes for 通过一种表单在两个不同的表 场地和停车场 上创建记录 我希望用户能够创建一个新场地 并通过复选框指定该场地可用的停车选项 当我提交表单时 将创建包含模型 场地 的记录 但嵌
  • javascript:动态下拉菜单值

    我想创建两个下拉表单 如果我在第一个菜单上选择一个项目 第二个菜单将显示相应的值 例如 如果我在第一个菜单上选择 水果 那么第二个菜单将显示 苹果 香蕉 等 它必须有值 以便我可以将其插入数据库 html如下
  • iPython:无法导入名为 sklearn 的模块

    我可以使用 python 解释器导入 sklearn 但是当我尝试在 iPython 笔记本中执行相同操作时 iPython 会抛出 ImportError 知道是什么导致了这个问题吗 我需要在 iPython 中使用一个模块 我不确定这是
  • Django限制查询

    我正在尝试运行 Django 查询 将返回的结果限制为 5 个项目 这很容易 但查询并不总是返回 5 个项目 在这种情况下 像这样的语句 我的代码 会失败 users User objects filter username istarts
  • 代码签名错误:SDK“iOS 11.0”中的产品类型“应用程序”需要代码签名

    我正在使用 GitLab CI 自动构建适用于 Android 和 iOS 的应用程序 我的 iOS 命令行构建不断失败并出现以下错误 Code Signing Error Code signing is required for prod
  • 将模型划分到目录中是一个坏主意吗?

    我的 Rails 应用程序中有 100 多个模型 为了便于组织 我将它们划分为文件夹 所有这些仍然位于主模型文件夹下 只是为了更轻松地在项目上导航并查看相关文件 这是一个坏主意吗 Rails 的方法是什么 不 这不是一个坏主意 很多人都这么
  • 未捕获的语法错误:参数列表后缺少 )

    未捕获的语法错误 参数列表后缺少
  • Xcode 机器人错误:提前意外退出,操作从未完成引导

    我有一个用 Swift 编写的项目 有一个主要目标和两个测试目标 一个用于使用quick https github com Quick Quick框架 它有 3KIF https github com kif framework KIF测试
  • android sax 不解析“dc:creator”?

    希望有人可以提供一些指导 我一直在使用带有多个提要的 android sax 解析器 现在 当我想解析包含以下内容的项目时
  • Postgresql DB 备份理想实践

    使用pg dump 进行PostgreSQL 逻辑备份的理想做法是什么 从备用 从属节点进行备份是否理想 如果复制延迟小于 200 毫秒 从备用 从属节点进行备份是否理想 是否需要更改任何特定配置 哪种备份方法是逻辑备份或物理备份的好方法
  • 将数据保存到 LocalStorage,然后使用 android Java 检索它

    我正在加载本地网页android应用程序使用WebView and my web page有一个按钮 比方说 btnA 当用户点击 btnA 时 javascript调用函数来保存deviceID在浏览器的localstorage 现在有几
  • 如何对包含 NaN 的 JavaScript 数组进行排序?

    我正在尝试对有时有的数组进行排序Infinity or NaN 当我使用标准 JavaScript 时array sort 它似乎排序直到达到NaN然后我得到随机结果 var array 02 2 2 Nan Infinity 20 有没有
  • 函数类型中的 Plus 与 S

    以下向量声明cons cons a gt Vect n a gt Vect n 1 a cons x xs x xs 因错误而失败 Type mismatch between S n and plus n 1 而下面的向量append编译并
  • 当闪亮仪表板中存在 menuSubItems 时显示 menuItem 的内容

    有没有一种方法可以在闪亮仪表板的内容窗格中实际显示具有现有 menuSubItems 的 menuItem 的内容 在示例中 我尝试将 tabName charts 添加到菜单项 图表 中 以显示选项卡项 图表 的内容 但是 除了打开菜单并
  • 如何将 Ruby 脚本转为 Web 应用程序

    我目前有一个脚本 可以侦听包含给定关键字的地理定位推文 然后将它们绘制在 Google Fusion Tables 地图上 我不太确定这是如何转移到网络应用程序的 我想要一个界面 用户可以在其中输入一些关键字进行搜索 然后我的应用程序将打开
  • 与单视图应用程序相比,带有 UICollectionView 的 Today Extension 具有不同的行为

    我尝试将集合视图添加到今日扩展 https developer apple com library content documentation General Conceptual ExtensibilityPG Today html指定每
  • 没有 System.Drawing/GDI+ 的 asp.net/c# 中的图像操作

    net 有替代图像处理库吗 我更喜欢托管和开源的东西 我问这个有两个原因 我过去遇到过使用 System Drawing 调试 GDI 错误的困难 我读到 在 ASP NET Web 应用程序中使用 System Drawing 并不是 1
  • Logback + Wildfly 8 - 不正确的模式

    我的 logback wildfly 8 配置有问题 我正在使用简单的 ConsoleAppender appender STDOUT ConsoleAppender encoder PatternLayoutEncoder pattern
  • 获取JPA实体版本的通用方法

    我有一个未知的 JPA 实体 需要知道它的版本 我找不到一种通用的方法来做到这一点 我尝试了元模型 但不知道要传递给 getVersion 方法的内容 Object entity Metamodel metamodel entityMana