首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Hibernate条件从同一行获得两个唯一的结果

使用Hibernate条件从同一行获得两个唯一的结果
EN

Stack Overflow用户
提问于 2017-06-06 22:49:36
回答 1查看 150关注 0票数 0

是否可以使用Hibernate标准从同一个表中获得两个唯一的结果?例如,如果我想询问最近的车辆类型(卡车或汽车),该怎么办?

代码语言:javascript
运行
复制
Criteria criteria = getCurrentSession().createCriteria(Vehicle.class);
criteria.add(Restrictions.eq("vehicleType", "car"));  // notice how I want a unique car AND truck
criteria.add(Restrictions.eq("vehicleType", "truck"));
criteria.add(Restrictions.le("date", date));
criteria.addOrder(Order.desc("date"));
criteria.setMaxResults(2);
Object result = criteria.uniqueResult(); // Possible to get most recent unique car and truck?

我想在一个查询中这样做,因为我假设对数据库的一个查询要比对数据库的两个查询要快。

因此,要重新表述我的问题,如何在一个Hibernate标准查询中获得最新的car和最新的truck。假设cartruck是用小数表示的,这样表就可以按vehicleType排序。

更具体地说,我想使用hibernate来做this

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-08 22:17:28

最后,我发现我可以使用Hibernate制作一个本机SQL Query

例如:

代码语言:javascript
运行
复制
getCurrentSession().createSQLQuery("SELECT * FROM Vehicle").list();

这样做的缺点是Hibernate返回一个Object[],而不是Vehicle类型的对象(在上面的例子中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44400883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档