1

我有这个查询

select faktur.* from
(select a.no_do, a.no_faktur, b.dlr_nama, a.crea_date from honda_h100_fakdos a, honda_h000_dealers b where a.kd_dlr=b.kd_dlr and a.status<>'X' and a.do_tahun>='2012') faktur 

它在我的 SQL 管理器上运行没有问题,但是当我将此 SQL 转换为 HQL 时,我总是收到此错误消息。

"expecting IDENT, found '*' near line 1"

下面是我的 HQL

select f.* (select a.noDo, a.noFaktur, a.creaDate from HondaH100Fakdos a where a.status <> 'X' and a.doTahun >= '2012' and a.doBulan = '02')  f

我仍然是 Hibernate 和 Java 的初学者。

有人可以解释为什么 Hibernate 不能将此查询转换为 HQL 吗?

4

2 回答 2

2

例如:

数据库实体:

public class User{

int id;

String name;

// setter and getter
}
db table name : tn_user
       column : tn_id,tn_name

hql : "from User where id=? and name=?" 

? is parameter
于 2012-11-27T05:56:56.927 回答
0

我认为您缺少FROMafter SELECT

select f.* from (select a.noDo, a.noFaktur, a.creaDate 
from HondaH100Fakdos a 
where a.status <> 'X' and a.doTahun >= '2012' and a.doBulan = '02') f

无论如何,这个子选择在这里是没用的。这将为您带来相同的结果:

select a.noDo, a.noFaktur, a.creaDate 
from HondaH100Fakdos a 
where a.status <> 'X' and a.doTahun >= '2012' and a.doBulan = '02'
于 2012-11-27T06:05:19.580 回答