SpringBoot JPA 单/多表联合查询时遇见的!坑!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31653405/article/details/82907302

1、hibernte criteria 制作投影映射

             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); 

2、hibernte criteria创建连接

           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  ----------------------------感谢老师!!!

扫描二维码关注公众号,回复: 3572985 查看本文章

                    https://blog.csdn.net/weixin_37524974/article/details/62044655    ----------------------------感谢老师!!!

7、hibernate -- Criteria查询

参考网站:   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   ----------------------------感谢老师!!!


​​​​​​​


来都来了,代码看都看了,那就留个言呗,可以互动下!


转载声明:本文为博主原创文章,未经博主允许不得转载。

猜你喜欢

转载自blog.csdn.net/qq_31653405/article/details/82907302