java.lang.IllegalArgumentException:无法找到持久化程序

java.lang.IllegalArgumentException:无法找到持久化程序,java,hibernate,jpa,wildfly,wildfly-10,Java,Hibernate,Jpa,Wildfly,Wildfly 10,我正在从事一个从WLS8迁移到WildFly 10的项目。WLS8中使用了JPA的Hibernate 3.3实现。但是,WildFly 10不支持此版本,因此我使用与WildFly 10捆绑的默认Hibernate版本5 但我得到了运行时错误: 错误[stderr]默认任务-32 java.lang.IllegalArgumentException:找不到persister:com.x.switch.entity.LOC 以下是.war中的文件/类结构: -WEB-INF-classes-com

我正在从事一个从WLS8迁移到WildFly 10的项目。WLS8中使用了JPA的Hibernate 3.3实现。但是,WildFly 10不支持此版本,因此我使用与WildFly 10捆绑的默认Hibernate版本5

但我得到了运行时错误:

错误[stderr]默认任务-32 java.lang.IllegalArgumentException:找不到persister:com.x.switch.entity.LOC

以下是.war中的文件/类结构:

-WEB-INF-classes-com -META-INF -persistence.xml -lib-web.xml -jboss-web.xml


我不明白为什么找不到实体,因为它在类下,打包在war文件中。

具有讽刺意味的是,当我在persistence.xml中列出所有实体后,错误就消失了。它是固定的,但我仍然不明白为什么我需要这样做,因为每个实体都有注释。

在持久性中使用注释还是配置实体。xml?注释在java代码中使用。