当前位置:编程学习 > JAVA >>

如何在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);

这样试一试,具体的操作我就不写了
--------------------编程问答--------------------
引用 1 楼 zzz200907111116 的回复:
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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,