问题描述
- 关于Hql语句,这条语句为什么查不出数据
-
hql = "from A a where a.timeDate <= "+time+" and a.name not in (select b.name from B b)";
super.findTopByHql(hql, 20);
这条语句有没有问题啊,为什么查不到数据
解决方案
检查下日期有没有引号,是否合法
最好是使用参数
hql = "from A a where a.timeDate <= :time and a.name not in (select b.name from B b)";
String[] params = { "time" };
Object[] args = { time };
,,,
解决方案二:
看下你的time数据类型和格式是否一致,然后在控制台打印出sql语句,在数据库执行一下,结果是否一样
解决方案三:
后台不能执行,,数据库不能执行,,没这回事吧
解决方案四:
hql = "from A a where a.timeDate <= todate('"+time+",'yyyy-mm-dd hh:mi:ss') and a.name not in (select b.name from B b)";
解决方案五:
timeDate <= to_date('" + time + "','yyyy-MM-dd')
时间: 2025-01-19 20:27:35