如何在Hibernate中启用或使用"静态元模型

时间:2016-02-29 21:47:49

标签: hibernate jpa jboss jpa-2.0 metamodel

我有一个类Term.java,它映射到mysql中的一个表。我想在查询中使用metamodel语句,如下所示,但它抱怨" Term _"不是可用的变量。

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中,单击&#34; project-&gt; JPA-&gt;规范元模型(JPA2.0)&#34;并指定源文件夹,我得到了在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;
}

0 个答案:

没有答案