不能。即使使用最新的Hibernate
5版本,您也不能说Hibernate扫描软件包中的持久性类。
Configuration具有方法
addPackage(),但用于读取“包级元数据”(
.package-info-文件)。
您不想使用Spring,那么您可以做什么:
使用流畅hibernate
您可以从fluent-hibernate库使用
EntityScanner(除了库之外,您将不需要其他jar)
对于Hibernate 4和Hibernate 5:
Configuration configuration = new Configuration();EntityScanner.scanPackages("my.com.entities", "my.com.other.entities") .addTo(configuration);SessionFactory sessionFactory = configuration.buildSessionFactory();使用新的Hibernate 5引导API:
List<Class<?>> classes = EntityScanner .scanPackages("my.com.entities", "my.com.other.entities").result();metadataSources metadataSources = new metadataSources();for (Class<?> annotatedClass : classes) { metadataSources.addAnnotatedClass(annotatedClass);}SessionFactory sessionFactory = metadataSources.buildmetadata() .buildSessionFactory();使用其他库
如果您已经使用了可用于扫描的库(例如,Reflections),则有一个测试项目,其中包含使用各种库进行实体扫描的示例:hibernate-
scanners-test。



