Java jpa子图和MappedSuperclass抛出未知实体

Java jpa子图和MappedSuperclass抛出未知实体,java,jpa,wildfly,Java,Jpa,Wildfly,我对子图有一个愚蠢的问题。这是我第一次使用实体图 我的公共库中有以下类: import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.ManyToMany; import javax.persistence.MappedSuperclass; @MappedSuperclass public abstract class NamedDomainObjectWithFiles exte

我对子图有一个愚蠢的问题。这是我第一次使用实体图

我的公共库中有以下类:

import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.ManyToMany;
import javax.persistence.MappedSuperclass;

@MappedSuperclass
public abstract class NamedDomainObjectWithFiles extends NamedDomainObject {

/**
 * 
 */
private static final long serialVersionUID = 1L;

@ManyToMany(cascade = CascadeType.ALL)
private Set<File> files;

public Set<File> getFiles() {
    return files;
}

public void setFiles(Set<File> files) {
    this.files = files;
}

}
如果我只设置

@NamedEntityGraph(name = Kunde.EG_loadAll,  
        attributeNodes = {
                @NamedAttributeNode(value = "files")
        }
启动期间不会引发异常

我希望你能帮助我

我在wildfly 8.1和9.0.1上用相同的结果测试了这段代码

迈克尔

@编辑:

这是我的persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="primary">
        <jta-data-source>java:jboss/datasources/ObjektmanagementDS</jta-data-source>
        <jar-file>lib/common-0.0.1.jar</jar-file>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <property name="hibernate.connection.url"
                value="jdbc:mysql://localhost:3306/objektmanagement?UseUnicode=true&amp;characterEncoding=utf8" />
            <property name="hibernate.connection.username" value="root" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.format_sql" value="true" />
        </properties>
    </persistence-unit>
</persistence>

java:jboss/datasources/ObjektmanagementDS
lib/common-0.0.1.jar

能否显示persistence.xml并说明它在部署中的位置?我可以将对象持久化到db,而不会出现任何问题。现在,我正试图从db中加载对象,其中包含文件列表。我想使用EntityGraphs来防止lazyloadingexception。我可以从文件对象中加载角色和文件类别的列表。所以我需要子图来加载列表。如果我不使用子图,将加载所有文件,但我无法访问列表。如果我如图所示定义子图并尝试发布,部署将崩溃。您解决问题了吗?我的部署也面临着同样的问题。请显示persistence.xml并说明它在部署中的位置好吗?我可以毫无问题地将对象持久化到db。现在,我正试图从db中加载对象,其中包含文件列表。我想使用EntityGraphs来防止lazyloadingexception。我可以从文件对象中加载角色和文件类别的列表。所以我需要子图来加载列表。如果我不使用子图,将加载所有文件,但我无法访问列表。如果我如图所示定义子图并尝试发布,部署将崩溃。您解决问题了吗?我的部署也面临同样的问题。
org.hibernate.MappingException: Unknown entity:   de.xxx.common.domain.NamedDomainObjectWithFiles
@NamedEntityGraph(name = Kunde.EG_loadAll,  
        attributeNodes = {
                @NamedAttributeNode(value = "files")
        }
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="primary">
        <jta-data-source>java:jboss/datasources/ObjektmanagementDS</jta-data-source>
        <jar-file>lib/common-0.0.1.jar</jar-file>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <property name="hibernate.connection.url"
                value="jdbc:mysql://localhost:3306/objektmanagement?UseUnicode=true&amp;characterEncoding=utf8" />
            <property name="hibernate.connection.username" value="root" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.format_sql" value="true" />
        </properties>
    </persistence-unit>
</persistence>