Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 没有类加载的PersistenceUnit初始化?_Hibernate_Jpa_Jboss7.x - Fatal编程技术网

Hibernate 没有类加载的PersistenceUnit初始化?

Hibernate 没有类加载的PersistenceUnit初始化?,hibernate,jpa,jboss7.x,Hibernate,Jpa,Jboss7.x,当我尝试启动以下持久性单元时 <persistence-unit name="Cibet" transaction-type="JTA"> <jta-data-source>java:/CibetDS</jta-data-source> <jar-file>lib/cibet-1.5.jar</jar-file> </persistence-unit> 缺少的类用于一个类,如下所示: import org.ap

当我尝试启动以下持久性单元时

<persistence-unit name="Cibet" transaction-type="JTA">
  <jta-data-source>java:/CibetDS</jta-data-source>
  <jar-file>lib/cibet-1.5.jar</jar-file>
</persistence-unit>  
缺少的类用于一个类,如下所示:

import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.realm.Realm;
import org.apache.shiro.subject.Subject;

public class CibetSecurityManager extends DefaultSecurityManager {
...  
但是,CibetSecurityManager是可选的,仅当Shiro LIB确实位于类路径上时,应用程序才使用它。如果Shiro不在类路径中,则类加载器不应尝试加载它。 现在,JBoss或Hibernate似乎不确定PersistenceUnit初始化过程是否尝试加载它在jar中找到的所有类

问:我能告诉JBoss/Hibernate在不加载jar中所有类的情况下查找@Entity注释类吗?在Tomee/OpenJpa中,这是毫无问题的


感谢您的帮助

如果其他所有操作都失败,您可以通过添加以下内容在persistence.xml中显式列出所有实体类:

<class>my.example.package.ExampleEntity</class>
...
<exclude-unlisted-classes>true</exclude-unlisted-classes>

这应该避免实体扫描。我将查看源代码,看看您是否可以改变这一点,并列出不需要扫描的类

谢谢,这就是我用来解决问题的方法。但是由于cibet.jar是一个框架库,我不想向用户公开太多的内部内容,并使其尽可能易于处理。
<class>my.example.package.ExampleEntity</class>
...
<exclude-unlisted-classes>true</exclude-unlisted-classes>