我写了一个查询并使用JPQl来获取数据
@SuppressWarnings({"unchecked", "JpaQlInspection"})
@Override
public News getCurrentNews() {
List<News> news = getCurrentSession().createQuery("from News where expiredAt>= :today " +
"and startedAt<= :today order by createdAt desc , priority").
setParameter("today", new Date()).list();
return (news.isEmpty()) ? null : news.get(0);
}
因此,intelliJ显示错误(或警告),当我按Alt + Enter它提供 添加
那是什么? 用的是什么? 不管它是不是错了?@SuppressWarnings({“unchecked”,“JpaQlInspection”})
答案 0 :(得分:2)
@SuppressWarnings将告诉IDE停止抱怨某事。对于我的团队,我不允许它,因为它通常表示代码气味。最好弄清楚你收到警告的原因。
在这种情况下,您的JPQL无效。 JPQL需要“SELECT”
SELECT N from News N where N.expiredAt>= :today
and N.startedAt<= :today " +
order by N.createdAt desc, N.priority
它的工作原理是HQL(Hibernate查询语言)支持不使用“SELECT”,因此当你将它从JPQL中删除时它不会抱怨。根据规格虽然您应该拥有它。