关于hibernate去除字段数据重复的问题

yeyanyu 2010-06-04 02:31:31
有一个数据库表里面有2条记录
id ip_com mnum count
1 192.168.0.1 1 1
2 192.168.0.1 1 2
因为 ip 和num 相同。要求hibernate只取出1条记录
映射类
Class A
{
private int id ;
private int ip;
private int num;
private int count;
}
我是这样写的
Criteria criteria = getSession().createCriteria(A.class);
criteria.setProjection(Projections.distinct(Projections.property("ip")));
criteria.setProjection(Projections.distinct(Projections.property("mnum")));
criteria.list();
可是总是过滤不掉。还是会出2条。请各位大侠指教。
...全文
355 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
szg176976970 2010-06-04
  • 打赏
  • 举报
回复
准则查询不行就用HQL呗,SQL你都会了HQL还用我教你吗
风过无痕1110 2010-06-04
  • 打赏
  • 举报
回复
这个问题是用聚合分组来解决
HQL: from A where id = (select max(id) from A group by ip,num)
yeyanyu 2010-06-04
  • 打赏
  • 举报
回复
还是出2条 真是郁闷
xinlan1022 2010-06-04
  • 打赏
  • 举报
回复
Query query = getSession().createQuery("我刚才写的放这里");
query.list();
xinlan1022 2010-06-04
  • 打赏
  • 举报
回复
这个就是HQL就是hibernate
yeyanyu 2010-06-04
  • 打赏
  • 举报
回复
只能用hibernate啊。写SQL 我也会啊。
xinlan1022 2010-06-04
  • 打赏
  • 举报
回复
select distinct (ip,num) from A 试试

67,513

社区成员

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

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