JPA 关联表添加关联条件,当我其中一个表的数据状态发送改变,不是业务上所需要的,这时实体查询还是会带出关联数据,所以我们需要处理这部分数据;第一种方式:删除中间表对应数据;第二种添加关联条件,按条件带出有效数据

  • 代码示例

    • 用户实体
     @Entity@Table(name = "pmi_t_user")@org.hibernate.annotations.Table(appliesTo = "pmi_t_user",comment="用户信息表")@Component@ApiModel(value = "用户实体")public class User implements Serializable {private static final long serialVersionUID = -4618191047832700121L;/*** 主键id*/@ApiModelProperty(value = "主键id")@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;/*** 用户名*/@ApiModelProperty(value = "用户名", required = true)@NotBlank(message = "用户名不能为空")@Column(name = "user_name", nullable = false,columnDefinition="varchar(100) COMMENT '用户名'")private String userName;/*** 关联角色 db_status 是数据库角色表字段* @WhereJoinTable(clause = "db_status = 1")*/@ApiModelProperty(value = "关联角色")@ManyToMany(fetch = FetchType.EAGER,targetEntity = Role.class)@JsonIgnoreProperties(value = { "users" })@Where(clause = "db_status = 1")@JoinTable(name = "pmi_t_user_role", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))@org.hibernate.annotations.ForeignKey(name = "none")private Set<Role> roles;}
    
    • 角色
     @Entity@Table(name = "pmi_t_role")@org.hibernate.annotations.Table(appliesTo = "pmi_t_role",comment="角色")@ApiModel(value = "角色")public class Role implements Serializable {private static final long serialVersionUID = 2376963713493278377L;/*** 主键id*/@ApiModelProperty(value = "主键id")@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;/*** 角色名称*/@ApiModelProperty(value = "角色名称")@NotNull(message = "角色名称不能为空")@Length(max = 20,min=1, message = "角色名称长度大于1小于20")@Column(name = "role_name", nullable = false,columnDefinition="varchar(20) COMMENT '角色名称'")private String roleName;/*** 数据状态 1:正常  -1:删除*/@ApiModelProperty(value = "数据状态")@Column(name = "db_status", nullable = false,columnDefinition="tinyint(4) DEFAULT '1' COMMENT '数据状态 1:正常  -1:删除'")private int dbStatus;}
    
  • 查询效果:


  • sql打印

JPA 关联表添加关联条件@Where、@WhereJoinTable()相关推荐

  1. MySQL为关联表添加数据

    在student表和grade表中,添加外键约束,建立两个表的关联关系. 可以看到,student表的外键约束已经添加成功,此时,表student和表grade之间,就是多对一的关系 因为,外键列只能 ...

  2. mysql触发器 当记录的指定字段发生变化时,更新表中的另外一个字段,或者更新另外一张关联表中关联记录的字段...

    2019独角兽企业重金招聘Python工程师标准>>> 注意:语句中出现的old,new,now(),都为数据库自带的关键字,此处不做解释. 两种情况: 第一种:一张表中,更新某条记 ...

  3. mysql实战:左表数据全部展示,关联表有关联数据返回1,没有关联数据返回0

    场景描述 现在有一消息通知功能,后台发布的每条通知消息都会展示到APP端消息列表中,每条消息支持是否已读操作,从消息列表中点击进入详情视为完成已读操作:现在需要在查询出的用户消息列表信息,其中所有的通 ...

  4. gorm使用Joins方法查询关联表数据的示例

    前言 gorm中的Joins方法只支持一对一关系.需要想要支持其它多关系表的查询,需要手写关联关系.只要记住下面的方式在看一下示例就很容易记住了: 一对一关系:只有一对一关系才能直接使用gorm原生的 ...

  5. mysql关联表删除、修改数据

    mysql关联表删除.修改数据 关联删除 关联修改 关联删除 -- 多表关联查询删除: -- from 前面用表名的别名才可以,否则会修改失败: DELETE s,u1 FROM stu as s I ...

  6. SpringData Manytomany 中间表添加额外字段

    SpringData Manytomany 中间表添加额外字段 Course跟user是两张多对多关联表 添加中间表实体类,表名跟多对多插入的中间表一致 说明 参数说明 Course跟user是两张多 ...

  7. jpa多表关联条件查询实现

    通过实体类映射实现多表关联条件查询 jpa对于多表关联可以在实体类中进行关联映射,一对一用@OneToOne,一对多用@OneToMany,多对多用@ManyToMany,多对一用@ManyToOne ...

  8. jpa多表关联查询_JPA【关联查询篇】

    摘要:本文主要介绍JPA的多表关联查询(一对一.一对多.双向关联.多对一.多对多)以及N+1查询的优化. 1. JPA多表关联查询 多表关联查询就是实现使用一个实体类对象操作或者查询多个表的数据. 配 ...

  9. java jpa自身关联查询_Spring Hibernate JPA 联表查询 复杂查询

    关系类型Owning-SideInverse-Side one-to-one @OneToOne @OneToOne(mappedBy="othersideName") one-t ...

最新文章

  1. Java对象序列化详解
  2. apt来安装mysql5.7,linux系统ubuntu18.04安装mysql 5.7
  3. Android隐藏软键盘收回软键盘
  4. 如何考查自己的测试水平?
  5. 明知 | TypeScript 结合 egg.js 基本使用
  6. java标签组件命名_java编程规范之java命名规范
  7. (第三章)查看数据库
  8. Zabbix监控系统深度实践
  9. 你真的会用ABAP, Java和JavaScript里的constructor么? 1
  10. java 多线程 举例,Java多线程简单举例
  11. 【HUST】公选抢课|用Auto.js模拟蹲课过程
  12. 基于UDP协议的Java聊天室
  13. 禁止搜狗拼音输入法自动更新
  14. java 连接ftp服务器 从页面进行下载
  15. Kruskal重构树 学习笔记
  16. Web自动化测试-Protractor基础(二)
  17. 【Spring】定时任务
  18. SQLyog Ultimate 13.2 Crack
  19. 几种常用的网络路由交换协议【路由协议】
  20. ospf协议基本概念

热门文章

  1. 转载:Lock锁机制的原理及与Synchronized的比较——源码解说
  2. 旅行商问题 python 不同算法实现
  3. 在html 中 缩进怎么写,html怎么缩进
  4. 影视剧广告植入,对于品牌宣传有怎样的效果?
  5. 案桌 通知栏 notification
  6. marquee标签_html滚动文字
  7. eyoucms 如何调用指定栏目下的推荐文章
  8. 计算机二级c语言程序填空,计算机二级C语言题库之程序填空.docx
  9. 彩票开奖结果查询接口介绍
  10. 小红书如何引流兼职粉?快点击打开看看吧