如何在Hibernate中查询出表中最后一条数据
我是这么想的,使用sql语句,select * from targetresultlog order by id desc limit 1于是,我在dao层写了这么个方法
@SuppressWarnings("unchecked")
public Targetresultlog getLatestTragetresultlog() {
System.out.println("now in getLatestTragetresultlog");
String hql="from Targetresultlog order by id desc limit 1";
List<Targetresultlog> ts = this.find(hql);
if (ts.size()>0)
return ts.get(0);
else
return null;
}
但是我发现,this.find方法把数据库中所有的数据都查出来了。由于表中数据非常多,这样效率非常低,我只想查一条该怎么办呢? --------------------编程问答-------------------- String hql="from Targetresultlog order by id desc ";
q.setFirstResult(0);
q.setMaxResults(1);
这样试一试,具体的操作我就不写了
--------------------编程问答--------------------
q是谁呢? --------------------编程问答-------------------- 什么数据库呢?不同数据库是不一样的。 --------------------编程问答-------------------- select top 1 * from Targetresultlog order by id desc
试试 --------------------编程问答-------------------- 二楼正解Session session = this.getSession();
Query q= session.createQuery(hql.toString());
补充:Java , Java EE