太离奇了,hql 在语句里报错 :Can't resolve symbol 'Employee' more... (Ctrl+F1
sql在参数设置的时候报错 Cannot resolve query parameter '0' more... (Ctrl+F1
同样的代码考到Eplice中就能运行
有没有哪位大神给指教下,这是为啥
@Test
public void testHQL() {
Session session = HibernateUtil.getSesson();
String hql = "SELECT e FROM Employee e WHERE e.name like ? and e.salay between ? and ?" ;
session.createQuery(hql).setParameter(0, "%a%").setParameter(1, new BigDecimal(4000)).setParameter(2, new BigDecimal(20));
session.close();
}
@Test public void testSQL() { Session session = HibernateUtil.getSesson(); String sql="SELECT * FROM employee WHERE name LIKE ?AND salary BETWEEN ? AND ?"; List list = session.createSQLQuery(sql).setParameter(0, "%a%").setParameter(1, new BigDecimal(4000)).setParameter(2, new BigDecimal(20)).list(); System.out.println(list); session.close(); }
不影响运行吧,我在idea里面也会出现红色波浪线在对象和setParamter方法那,方法已经过时的原因
抑制一下就好了
SELECT s FROM paint_sort s where 1=1;
这样不能执行的。
SELECT s.* FROM paint_sort s where 1=1;
这样写能执行,注意select 和from之间。
写e.*的话 错就跑到*上了