java bean join_spring data jpa 关联join查询出自定义实体java bean的坑
repository接口如下:
package cn.detao.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import cn.detao.domain.Role;
import cn.detao.domain.User;
import java.lang.String;
import java.util.List;
public interface UserRepository extends JpaRepository{
User findByName(String name);
User findByUsername(String username);
@Query(value = "SELECT new cn.detao.domain.Role(r.id,r.name,r.nameZh) FROM User u INNER JOIN UserRole ur ON u.id = ur.userId INNER JOIN Role r ON ur.roleId = r.id WHERE u.id = ?1")
ListfindRolesByUser(Integer UserId);
}
role实体:
package cn.detao.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import lombok.Data;
@Entity
@Data
public class Role {
@Id // 主键
@GeneratedValue(strategy = GenerationType.IDENTITY) // 自增长策略
private Integer id;
@Column
private String name;
@Column
private String nameZh;
public Role(Integer id, String name, String nameZh) {
super();
this.id = id;
this.name = name;
this.nameZh = nameZh;
}
public Role() {
}
}
注意大坑:
SELECT new cn.detao.domain.Role(r.id,r.name,r.nameZh) FROM User u INNER JOIN UserRole ur ON u.id = ur.userId INNER JOIN Role r ON ur.roleId = r.id WHERE u.id = ?1
查询语句中的所有表名必须是 javaBean 实体名,不能是mysql表名;字段名也必须是javaBean实体里的属性名,不能是mysql表里的字段名。
java bean join_spring data jpa 关联join查询出自定义实体java bean的坑相关推荐
- spring data jpa 多对多查询
spring data jpa 多对多查询 以用户-角色 多读多为例: User类,用户 @Entity public class User {private String username;priv ...
- spring data jpa实现分页查询功能
spring data jpa实现分页查询功能 HTML代码部分: // 收派标准信息表格 $('#grid').datagrid( {iconCls : 'icon-forward',fit : t ...
- jpa 动态查询条件 数组_Spring data jpa 复杂动态查询方式总结
一.Spring data jpa 简介 首先JPA是Java持久层API,由Sun公司开发, 希望整合ORM技术,实现天下归一. 诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,目前也是 ...
- querydsl动态 sql_Spring data jpa 复杂动态查询方式总结
一.Spring data jpa 简介 首先JPA是Java持久层API,由Sun公司开发, 希望整合ORM技术,实现天下归一. 诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,目前也是 ...
- 004_Spring Data JPA根据实例查询数据
1. 创建一个名为spring-data-jpa-example的Java项目, 同时添加相关jar包, 并添加JUnit能力. 2. 查看PagingAndSortingRepository接口下的 ...
- Spring Data JPA多表查询
多表查询在Spring Data JPA中有两种实现方式 第一种创建一个结果集接口来接收多表连查的结果 第二种利用JPA的关联映射来实现 先来熟悉一下几个注解 注解 意思 属性 @ManyToOne ...
- jpa 原生sql 查询返回一个实体_spring data系列之jpa
Springdata 系列之spring data jpa 背景:随着互联网技术的发展,现在的企业开发中用到的用于数据存储的产品,不再仅仅是关系型数据库,而是要根据场景需要选择不同的存储技术,比如用于 ...
- jpa 原生sql 查询返回一个实体_JPA查询--使用原生sql 并且把查询结果转为实体对象...
这篇文章主要记录 使用原生sql查询 并且把查询结果转为实体对象, 注意:这儿使用的数据库 是oracle数据库 这儿记录了三种查询:精确查询,模糊查询,分页查询. 1.把原生sql查询的结果转为实体 ...
- java data jpa_java中Spring data jpa通过Predicate查询时间段
如下,想搜索time1和time2之间的数据,但是查不到cb是重写了方法中的参数CriteriaBuilder,root是参数Rootpredicates.add(cb.between(root.ge ...
最新文章
- 汇聚6年思想变迁:知识图谱报告幻灯片大全
- 老版本的Spring应用该如何应对这次的RCE漏洞?
- 【JVM调优】JVM内存管理调优浅谈
- 卷积神经网络中的参数计算
- Spring JDBC-数据连接泄露解读
- docker安装并运行elasticsearch
- Java IO流之对象流
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(一)视图共性 学习笔记...
- vue组件实现查看大图效果
- mysql删除n行_订购记录并在MySQL中删除n行
- flink的web ui中五颜六色的方块是什么意思?
- String类的特点和使用步骤
- BZOJ 2324: [ZJOI2011]营救皮卡丘(带上下限的最小费用最大流)
- 使用SQL存储过程有什么好处 用视图有什么好处
- 使用tensorflow object detection API 训练自己的目标检测模型 (三)
- 简说 Python 生态系统的 14 年演变
- python 字符串_Python中常用的8种字符串操作方法
- Unable to modify the parent container element before the child element is closed
- python3+selenium实现126邮箱登陆并发送带附件的邮件(显示等待版本)
- 1.17英文题面翻译
热门文章
- avformat_alloc_output_context2 -22错误
- ffmpeg3.4 yuv编码为h264
- 解决:无法解析的外部符号__iob_func
- 小强学Python+OpenCV之-1.4.4掩膜mask及位运算
- 青龙羊毛——闪电世界(合集篇)
- java 039 s rule_Java开发架构篇:DDD模型领域层决策规则树服务设计
- c语言程序框一点数字就消失,你用C语言编程时,会犯下面的错误吗?
- mysql自带的监控报告_MYSQL监控-自带工具Query Profiler的使用
- steamvr unity 连接眼镜_Unity SteamVR插件集成
- Python之装饰器入门