永发信息网

springdata多表查询entity怎么写

答案:1  悬赏:0  手机版
解决时间 2021-03-21 16:30
springdata多表查询entity怎么写
最佳答案
springdata查询多表可以这么写
1: 编写DAO类或接口
dao类/接口 需继承
[java] view plain copy
public interface JpaSpecificationExecutor
接口;
如果需要分页,还可继承
[java] view plain copy
public interface PagingAndSortingRepository extends CrudRepository
接口。

2.
[java] view plain copy
public interface JpaSpecificationExecutor
接口具有
[java] view plain copy
Page findAll(Specification spec, Pageable pageable); //分页按条件查询

List findAll(Specification spec); //不分页按条件查询
方法。 我们可以在Service层调用这两个方法。
两个方法都具有 Specification spec 参数,用于设定查询条件。
Service 分页+多条件查询 调用示例:
[java] view plain copy
studentInfoDao.findAll(new Specification () {

public Predicate toPredicate(Root root,
CriteriaQuery query, CriteriaBuilder cb) {
Path namePath = root.get("name");
Path nicknamePath = root.get("nickname");

query.where(cb.like(namePath, "%李%"), cb.like(nicknamePath, "%王%")); //这里可以设置任意条查询条件

return null;
}

}, page);

}

这里通过CriteriaBuilder 的like方法创建了两个查询条件, 姓名(name)字段必须包含“李”, 昵称(nickname)字段必须包含“王”。
然后通过
[java] view plain copy
CriteriaQuery where(Predicate... restrictions);
连接多个查询条件即可。 这种方式使用JPA的API设置了查询条件,所以不需要再返回查询条件Predicate给Spring Data Jpa,故最后return null;即可。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
等差数列-1,2,5,8,11,14…… 求前n项的和的通
这世上为什么越毒的人越过得好?两面三刀就是
把100g 80摄式度的热水与300g冷水混合,混合
要使234×□的积是三位数,□内最大可以填___
含有出现,产生的意思的字
银饰品上面的S295是什么意思?纯度吗?
如何能让一个女孩子死心塌地的爱你一个人?
奶奶去世了她能感应到我想她吗
back hyun怎么读?伯贤的英文名怎么读啊
VI新手如何做好VI设计
净一洗车美容中心地址在什么地方,想过去办事
请问,cpu占用率居高不下,占用率居高不下,通
根据句意,在横线上写出括号内所给单词的适当
沈阳《新北方》网上互动话题讨论是什么网址
湖南卫视4.22号晚上10点演的什么综艺节目?何
推荐资讯
期货模拟交易和实盘交易有什么区别
武魂自创武馆是个什么玩法?
宋坟河弯在什么地方啊,我要过去处理事情
宅霸里的泰拉瑞亚的地图文件在哪儿啊,找不到
众鑫文具城地址在什么地方,想过去办事
2017款本田crv有7坐版吗
我15岁在公交车上老是被别人盯着,最过分的一
买了亲戚的房子,给了四把钥匙,然后和我们说
如何游泳能达到瘦身的目的?
哪种蔬菜含维生素最高
2个问题;第一个问题:山东鲁宇重工生产的LZ1
手机能用鼠标吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?