hibernate 4.3.x - 加载所有实体注释类

2023-11-26

在我从事的项目中,我不使用 Spring,仅使用 Hibernate。我不想使用 hbm.xml 文件进行实体映射/描述/等。我只想使用注释。

我如何告诉 Hibernate 加载所有内容Entity/Table来自某些包的带注释的类?

我在网上搜索但没有运气。另外,我没有找到有关最新 Hibernate 版本的信息(主要是过时的文章/帖子/等)。

Edit 1:

http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html_single/#mapping

hibernate 文档页面是这样说的:

对象/关系映射可以通过三种方法定义:
1)使用Java 5注释(通过Java Persistence 2注释)
2)使用JPA 2 XML部署描述符(在第XXX章中描述)
3) 使用 Hibernate 遗留 XML 文件方法(称为 hbm.xml)

就是这样,我只想将 1) 与 SessionFactory/Session Hibernate API。

Edit 2:

尽管我的问题被标记为重复,但事实并非如此,因为我不想使用 JPA(和隐含的描述符),而只想使用上面列出的方法 1)。


好吧,这在 Hibernate 4.3.x 中是不可能的,而且似乎永远不可能。

另请参阅这个问题/答案(尽管这篇文章很旧,但它非常有效):
通过添加某个包中的所有类来在 Hibernate 中添加带注释的类。爪哇

1)在我对此进行了一些研究之后,似乎这是一个常见的误解Configuration.addPackage允许我们从给定的包中加载所有实体类。这不是真的。我通过查看休眠源代码发现了这一点,然后我才发现上面的问题/答案证实了这一点。事实上我不太确定什么addPackage确实如此,但它似乎对我的情况不太有用。

2)似乎我们能做的一件事就是打电话Configuration.addAnnotatedClass对于我们自己的每个带注释的实体类,例如通过在编译时对这些类进行硬编码。或者...或者使用反思 or Guava我们可以在运行时动态地从给定包中找到所有(即我们自己的)实体类,循环遍历它们,并且仍然调用Configuration.addAnnotatedClass。 Reflections 的唯一问题是它有很多自己的依赖项。因此,如果我们决定使用 Reflections,我们必须为这个简单的事情添加 9 个新的 JAR(多么痛苦)。使用 Guava 会更容易一些,我们只需调用
ClassPath.from ( Thread.currentThread().getContextClassLoader() ). getTopLevelClasses(pckg).

如果有人有更好的方法 - 请随时提供。
我会接受最佳答案,不一定是我的答案。

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

hibernate 4.3.x - 加载所有实体注释类 的相关文章

  • java中的csv到pdf文件

    我正在尝试获得一个csv文件解析为pdf 到目前为止我所拥有的内容附在下面 我的问题是这段代码最终出现在 pdf 中的文件在 csv 文件的第一行被截断 我不明白为什么 附示例 本质上我想要一个没有任何操作的 csv 文件的 pdf 版本
  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • java.lang.Class: 在 java 程序中初始化 log4j 属性文件时出错

    我正在尝试使用 log4j 运行独立的 java 程序 但在调试时收到以下消息 控制台上没有 log4j 相关日志 log Logger 1343 java lang Class ERROR in 18b4aac2 有人可以建议这里出了什么
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 当要求加载惰性字段时,Hibernate 会加载所有惰性字段

    我之间有 one2one 关系Student and Address 我想要firstName and lastName的领域Student延迟加载 我也想偷懒address field 这些是我的实体类 Entity Table name
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • 场景生成器删除 fxml 文件中的导入

    我使用场景构建器 Gluon Scene Builder JavaFX Scene Builder 8 1 1 来创建应用程序的 UI 并使用 Eclipse 开发 JavaFX 现在 每次我在场景生成器中保存某些内容时 它都会从 fxml
  • 所有junit测试后的清理

    在我的项目中 我必须在所有测试之前进行一些存储库设置 这是使用一些棘手的静态规则来完成的 然而 在所有测试之后我不知道如何进行清理 我不想保留一些神奇的静态数字来引用所有测试方法的数量 我应该一直维护它 最受赞赏的方法是添加一些侦听器 该侦
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • 使用 Java 从 S3 上的文件在 S3 上创建 zip 文件

    我在 S3 上有很多文件 需要对其进行压缩 然后通过 S3 提供压缩文件 目前 我将它们从流压缩到本地文件 然后再次上传该文件 这会占用大量磁盘空间 因为每个文件大约有 3 10MB 而且我必须压缩多达 100 000 个文件 所以一个 z
  • 我想要一个 Java 阿拉伯语词干分析器

    我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • 如何移动图像(动画)?

    我正在尝试在 x 轴上移动船 还没有键盘 我如何将运动 动画与boat png而不是任何其他图像 public class Mama extends Applet implements Runnable int width height i
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • 重写Object类的finalize()方法有什么用?

    据我所知 在java中如果我们想手动调用垃圾收集器 我们可以执行System gc 1 我们在重写的finalize 方法中做了哪些操作 2 如果我们想手动调用JVM垃圾收集器 是否需要重写finalize 方法 我们在重写的 Finali
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public

随机推荐

  • Android中如何设置按钮点击效果?

    在Android中 当我为按钮设置背景图像时 单击它时看不到任何效果 我需要在按钮上设置一些效果 以便用户可以识别出该按钮被单击 单击该按钮后 该按钮应变暗几秒钟 这个怎么做 这可以通过创建一个包含按钮状态列表的可绘制 xml 文件来实现
  • 箭头函数内的 async/await (Array#map/filter)

    我在此代码中遇到编译时错误 const someFunction async myArray gt return myArray map myValue gt return id my id myValue await service ge
  • 角度路由 - 重定向到外部站点?

    在 AngularJS 路由文件中 有一个选项otherwise路由 替换 404 routeProvider when otherwise redirectTo my path 有没有办法做到这一点 以便重定向到不在应用程序中的页面 我试
  • 保持终端焦点

    我有一个 python 脚本 它使用 selenium 来自动化网页 将焦点从需要用户输入的终端上移开 python 中是否有以编程方式将焦点切换回终端的方法 如果重要的话 我将在 Windows 7 上的 Windows 命令提示符中运行
  • 长周期区块应用

    我的应用程序中有以下循环 var maxIterations Int 0 func calculatePoint cn Complex gt Int let threshold Double 2 var z Complex init re
  • const 的用处 (C++)

    我是一个 const 恶魔 我努力让一切尽可能 const 我尝试查看 const 和非 const 版本函数的各种反汇编输出 但尚未看到明显的改进 我假设现在的编译器能够使用非 const 函数来完成聪明的事情 而这些函数在技术上可能是
  • 从长到宽,重复两次测量

    我知道这个问题已经在 从长到宽 的标题下被问过很多次了 但我遇到了一种情况 我有两个重复测量的值变量 id sex time score1 score2 1 subject 1 m Time1 0 20926263 0 2499310 2
  • winutils.exe chmod 命令未设置权限

    gt D gt echo HADOOP HOME gt D Apps winutils hadoop 2 7 1 在与 HADOOP HOME 相同的磁盘上创建 tmp hive 文件夹 D gt dir tmp hive Director
  • 为什么 Jetpack Compose Preview 不显示任何内容?

    我正在使用 Jetpack Compose 预览仅显示标题 但如果我使用 dev13 版本 它工作正常 IDE Android Studio 4 2 Canary 7撰写 0 1 0 dev17 这是一个已知问题 它应该在 Android
  • Django 管理,自定义错误消息?

    我想知道如何在 Django 管理中显示错误消息 我的网站上有一个私人用户部分 用户可以在其中使用 点 创建请求 一个请求从用户的帐户中获取 1 或 2 个积分 取决于请求的两种类型 因此如果帐户有 0 个积分 则用户无法发出任何请求 在私
  • 无法加载文件或程序集“xxxx”或其依赖项之一。该系统找不到指定的文件

    在 VS2005 中 我们整个编程人员都收到此错误消息零星地它总是在贝尼控制项目 此错误消息每天会发生多次 并且在进入控件的设计模式时会发生 通常重建贝尼控制解决了问题 但有时必须重建整个解决方案 还有其他人解决了这个问题吗 有哪些建议或网
  • 在 ncurses 中捕获 control+key 的正确方法

    在 ncurses 中捕获 control key 的正确方法是什么 当前我正在这样做定义控制 如下所示 define ctl x x 0x1f 它工作正常 但问题是我无法同时捕获 C j 和 ENTER 这是因为 j 106 110101
  • java中可以连续分配对象吗?

    假设我有一大堆相对较小的对象 我需要经常迭代它们 我想通过提高缓存性能来优化我的迭代 所以我想分配物体 而不是引用 在内存上连续 所以我会得到更少的缓存未命中 并且整体性能可能会明显更好 在 C 中 我可以只分配一个对象数组 它会根据我的需
  • 为什么可以在持久卷上设置多个访问模式?

    例如在下面的例子中 apiVersion v1 kind PersistentVolumeClaim metadata name exmaple pvc spec accessModes ReadOnlyMany ReadWriteMany
  • 如何在 Java 程序中运行 Java 源代码

    我写了一些代码来编译Java源代码 然后它会生成 class 文件 问题是我该如何运行它 例如 我可以设置程序和类的名称 我使用了 prog p new prog 但是在这种情况下 类文件在编译之前还不存在 不太确定该怎么做 有人可以给我建
  • Oracle 何时/为何将 NaN 添加到数据库表中的行

    我知道 NaN 代表非数字 但是 我很难理解 Oracle 何时以及为何将其添加到一行中 是遇到小于 0 的值 如负数 还是垃圾值时 从文档中 Oracle 数据库数字数据类型存储正负定点和浮点数 零 无穷大以及作为未定义运算结果的值 不是
  • iPhone 上的 JSON POST 请求(使用 HTTPS)

    我托管了一个 WCF 服务 并且尝试在 iPhone 应用程序中将其用作 JSON POST 请求 我计划稍后使用 JSON 序列化器 但这就是我的请求 NSString jsonRequest username user password
  • 精确检查一个布尔选项集

    嗯 这有点hacky function b2n boo return boo 1 0 if b2n opt1 b2n opt2 b2n opt3 1 throw new Error Exactly one option must be se
  • Android Studio 无法与 HoloEverywhere 和 ActionBarSherlock 配合使用

    我能够将 ActionBarSherlock 和 HoloEverywhere 导入 Android Studio 但无法编译我的应用程序 截屏 https docs google com file d 0BwOn70drOiMfZHZVe
  • hibernate 4.3.x - 加载所有实体注释类

    在我从事的项目中 我不使用 Spring 仅使用 Hibernate 我不想使用 hbm xml 文件进行实体映射 描述 等 我只想使用注释 我如何告诉 Hibernate 加载所有内容Entity Table来自某些包的带注释的类 我在网