我是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,-1, 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, -1, GETDATE())
and
SenseDate <= GETDATE()
执行此操作时,您将收到对象数组的列表:
final List<Object[]> values = query.list();
列表中的每个元素代表一个找到的行。数组本身包含两个选定字段,其顺序与您在语句中声明的顺序相同。