我是HQL的新手并且有一个我需要转换的sql表达式但是我无法选择sql语句:
select SenseDate as Time,SenseValue as Value from UserData where NetworkID = '23' and IODeviceID = '129' and SenseDate >= DateAdd("d",-1,GETDATE()) and SenseDate<=GETDATE()
我可以在HQL中运行这部分而不会出现问题:
from UserData where NetworkID = '23' and IODeviceID = '129' and SenseDate >= DateAdd(d,GETDATE()) and SenseDate<=GETDATE()
但是我只想要返回SenseDate和SenseValue值,有人可以告诉我如何选择当我尝试添加select SenseDate,SenseValue等时我会在Netbeans中遇到错误
解决方法
您可以使用HQL选择字段/列.看起来如下:
select SenseDate,SenseValue from UserData where NetworkID = '23' and IODeviceID = '129' and SenseDate >= DateAdd(d,GETDATE()) and SenseDate <= GETDATE()
执行此操作时,您将收到一个对象数组列表:
final List<Object[]> values = query.list();
列表中的每个元素代表一个找到的行.数组本身包含两个选定的字段,其顺序与您在语句中声明的顺序相同.