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中启用或利用“静态元模型”_Hibernate_Jpa_Jboss_Jpa 2.0_Metamodel - Fatal编程技术网

如何在Hibernate中启用或利用“静态元模型”

如何在Hibernate中启用或利用“静态元模型”,hibernate,jpa,jboss,jpa-2.0,metamodel,Hibernate,Jpa,Jboss,Jpa 2.0,Metamodel,我有一个类Term.java,它映射到mysql中的一个表中 public List<Term> findAllOrderedByName() { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Term> criteria = cb.createQuery(Term.class); Root<Term> term = criteria.fr

我有一个类Term.java,它映射到mysql中的一个表中

public List<Term> findAllOrderedByName() {
        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery<Term> criteria = cb.createQuery(Term.class);
        Root<Term> term = criteria.from(Term.class);
         criteria.select(term).orderBy(cb.asc(term.get(Term_.name)));
        return em.createQuery(criteria).getResultList();
}
我的POM中有此依赖项:

<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
            <scope>provided</scope>
        </dependency>
容器是JBoss。这里有什么问题吗?谢谢

编辑:

在Eclipse中,单击project->JPA->canonical metamodel JPA2.0并指定源文件夹,我得到了在Eclipse中自动生成的类。这是正确的方法吗

@Generated(value="Dali", date="2016-02-29T14:56:11.460-0800")
@StaticMetamodel(Term.class)
public class Term_ {
    public static volatile SingularAttribute<Term, Integer> id;
    public static volatile SingularAttribute<Term, String> name;
    public static volatile ListAttribute<Term, Context> contexts;
}

请发布完整的pom.xml可能是发布经过计算、有效的pom的一个好主意,因为它看不出您的构建过程有什么问题。另外,请说明您是否使用像Eclipse这样的IDE,因为maven Eclipse集成是一个全新的领域,除了maven本身之外,还可能出错。我右键单击我的project->property->JPA,并在Canonical metamodelJPA2.0下指定源文件夹src/main/java,然后自动生成一个类术语。应该是Eclipse中生成motamodel类的方法吗?请参阅更新。它们是在哪里生成的?我猜它们最终位于不同的源文件夹中,然后是您的src/main/java源文件夹,someth类似于${project.build.directory}/generated sources/annotations。该文件夹最终会添加到Eclipse中的源文件夹吗?奇怪!我在两个包中有三个实体类,我发现${project.build.directory}中生成了一个成员/生成的源代码/注释,但我在生成的源代码/注释中看不到其他两个。我不知道它们在哪里,包括术语u。但是,所有3个都与原始类、成员、上下文和术语位于同一个包中。请尝试为您的项目执行完整的构建项目->清理…以便删除所有编译的类并执行Eclipse将对您的源代码进行完整编译。您可能只对启用注释处理后实际更改的源文件进行了增量编译,因此尚未生成所有元模型源文件。