如何在Hibernate中查询出表中最后一条数据

IMTTN 2013-09-05 10:56:28
我是这么想的,使用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方法把数据库中所有的数据都查出来了。由于表中数据非常多,这样效率非常低,我只想查一条该怎么办呢?
...全文
574 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz200907111116 2013-09-05
  • 打赏
  • 举报
回复
String hql="from Targetresultlog order by id desc "; q.setFirstResult(0); q.setMaxResults(1); 这样试一试,具体的操作我就不写了
zhangxing605 2013-09-05
  • 打赏
  • 举报
回复
二楼正解Session session = this.getSession(); Query q= session.createQuery(hql.toString());
itzgs 2013-09-05
  • 打赏
  • 举报
回复
select top 1 * from Targetresultlog order by id desc 试试
  • 打赏
  • 举报
回复
什么数据库呢?不同数据库是不一样的。
IMTTN 2013-09-05
  • 打赏
  • 举报
回复
引用 1 楼 zzz200907111116 的回复:
String hql="from Targetresultlog order by id desc "; q.setFirstResult(0); q.setMaxResults(1); 这样试一试,具体的操作我就不写了
q是谁呢?

67,542

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧