【发布时间】:2013-07-09 05:29:43
【问题描述】:
EntityManager em;
em = this.getEntityManager();
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Date> criteria = builder.createQuery(Date.class);
Root<News> newsRoot = criteria.from(News.class);
criteria.select(newsRoot.get(News_.date)).distinct(true);
List<Date> newsList = em.createQuery(criteria).getResultList();
return newsList;
News_.date 不工作我不知道为什么,但在其他项目中它工作。
错误是我需要为 News_ 创建一个类。但在它开始工作之前。
有人遇到过这个问题吗?
【问题讨论】:
-
我没有那个新闻_只有新闻
-
只要你的元模型类(News_)设置正确并且在你的类路径中应该没问题。元模型文档:docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/metamodel.html
-
你在哪里使用
Metamodel?News_引用 Metamodel 中的一个类。 -
如果您不想立即考虑
Metamodel(当然,必须将其用于类型安全条件查询),那么您可以在实体类@中传递您的属性的字符串名称987654326@ 喜欢,newsRoot.get("yourDateProperty")。然而,这将是一个类型不安全的查询。 -
是的,我有 News_class 但无法导入,我不知道为什么
标签: java jpa criteria-api