ProjectionList proList = Projections.projectionList();//设置投影集合
//SELECT *
//DISTINCT
proList.add(Projections.distinct(Projections.property("userId")));
//User
proList.add( Projections.groupProperty( "userId") ,"userId");////GROUP BY
proList.add( Projections.property( "loginName") ,"loginName" );
proList.add( Projections.property( "accountMonkey"),"accountMonkey" );
proList.add( Projections.property( "costMonkey") ,"costMonkey" );
//ConsumRecord
proList.add( Projections.property( "consumtMonkey"),"consumtMonkey" );
//LevelAward
proList.add( Projections.property( "rewardAmount"),"rewardAmount" );
//ShareBonusAward
proList.add( Projections.property( "averageAmount"),"averageAmount" );
//RewardRecord
proList.add( Projections.property( "reMmemberReward"),"reMmemberReward" );
criteria.setProjection(proList);
Criteria criteria = session.createCriteria(User.class,"users");
//LEFT JOIN
criteria.createAlias("ConsumRecord", "consumRecord");
criteria.createAlias("LevelAward", "levelAward");
criteria.createAlias("ShareBonusAward", "shareBonusAward");
criteria.createAlias("RewardRecord", "rewardRecord");
criteria.setFetchMode("ConsumRecord", FetchMode.JOIN);
criteria.setFetchMode("LevelAward", FetchMode.JOIN);
criteria.setFetchMode("ShareBonusAward", FetchMode.JOIN);
criteria.setFetchMode("RewardRecord", FetchMode.JOIN);
3、hibernte criteria添加where 、groupby
//WHERE
criteria.add(Restrictions.eq("consumRecord.createTime", "CURDATE()"));
//ORDER BY
criteria.addOrder(Order.desc("users.status"));
4、hibernte criteria 一个复杂的查询例子(包含常用的所有查询方法)
参考网站:https://www.cnblogs.com/g-smile/p/9177841.html ----------------------------感谢老师!!!
5、hibernte criteria 关联查询(inner join 与 left join)
参考网站: https://blog.csdn.net/snowday88/article/details/6712169 ----------------------------感谢老师!!!
6、Hibernate criteria Projections(投影、统计、不重复结果)
参考网站: https://blog.csdn.net/yalove/article/details/6644228 ----------------------------感谢老师!!!
https://blog.csdn.net/weixin_37524974/article/details/62044655 ----------------------------感谢老师!!!
参考网站: https://www.cnblogs.com/liuconglin/p/5721863.html ----------------------------感谢老师!!!
https://www.cnblogs.com/liuconglin/p/5721863.html ----------------------------感谢老师!!!
https://www.cnblogs.com/liuconglin/p/5721863.html ----------------------------感谢老师!!!
https://www.cnblogs.com/Sonet-life/p/4685479.html ----------------------------感谢老师!!!
1、Criteria 查询,需要获取非关联字段信息时,必须创建关联表criteria.createAlias("productType","ptype");
2、Criteria 查询,主表和关联表有相同数据库字段,且需要使用原始SQL语句时,必须指定别名,否则将无法找到指定列,而报“未明确指定列”的错误
8、数据库异常整理:org.hibernate.QueryException: could not resolve property: “xxx” 巨大一个坑!
参考网站: https://blog.csdn.net/chuck_kui/article/details/54783004 ----------------------------感谢老师!!!
来都来了,代码看都看了,那就留个言呗,可以互动下!
转载声明:本文为博主原创文章,未经博主允许不得转载。