好的,这在Hibernate 4.3.x中是不可能的,而且似乎永远不可能。
1)我对此进行了一些研究之后,似乎是一个常见的误解,
Configuration.addPackage使我们可以从给定的程序包中加载所有实体类。这不是真的。我通过查看hibernate源找到了困难的方法,然后才发现上面的SO问题/答案对此进行了确认。实际上,我不太确定该怎么
addPackage做,但是对于我的情况来说,它似乎不太有用。
2)似乎我们可以做的一件事是调用
Configuration.addAnnotatedClass我们自己的每个带注释的实体类,例如在编译时对这些类进行硬编码。或者…或者,通过使用Reflections或Guava,我们可以在运行时动态地从给定包中找到所有(即我们自己的)实体类,循环遍历它们,然后仍然调用
Configuration.addAnnotatedClass。Reflections的唯一问题是它具有很多依赖关系。因此,如果我们决定使用Reflections,就必须为这个简单的事情添加9个新的JAR(这很痛苦)。使用番石榴会更容易一些,我们可以致电
ClassPath.from ( Thread.currentThread().getContextClassLoader()).getTopLevelClasses(pckg)。



