2013-04-23 37 views
0

有什麼辦法可以在Hbernate HQL或使用Hibernate Criteria(或DetachedCriteria)中重寫下面的SQL的等價物嗎?它應該從數據庫返回單個記錄。如何在HQL中編寫此SQL或使用Criteria?

哪一個建議使用HQL或Criteria或只是本機SQL?

Select * from X where x.name="name" and x.date =(select max(x.date) from X where x.name="name") 

回答

0
Select Model from X model where model.name="name" and 
model.date =(select max(model1.date) from X model1 where model1 .name="name") 

如果您正在使用Hibernate3 使用order by date和那麼q uery.setMaxResults()真的是你唯一的選擇。

如果您正在使用Hibernate2那麼你可以使用LIMIT

+0

@Sam是否適合你 – samba 2013-04-23 00:16:53

0

Equalent休眠: 從Xpojo x,其中x.name = 「名稱」 和x.date =(從Xpojo y其中選擇最大值(y.date) y.name =「name」) 它適用於任何數據庫。