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

例えば:

dbエンティティ:

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

私はあなたがFROM後を逃していると思います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 に答える