@NamedEntityGraph的使用时为了解决sql查询过多的问题

@Entity
@Table(name="s_person")
@NamedEntityGraph(name="person.all",attributeNodes={@NamedAttributeNode("address"),@NamedAttributeNode("cards")})
public class Person {@GeneratedValue(generator = "uuid2")@GenericGenerator(name = "uuid2", strategy = "uuid2")@Idprivate String id;private String username;private String age;@OneToOne@JoinColumn(name="address_id",referencedColumnName="id")private Address address;@OneToMany(fetch=FetchType.EAGER)@JoinTable(name="s_person_card",joinColumns={@JoinColumn(name="p_id")},inverseJoinColumns={@JoinColumn(name="c_id")})private List<Cards> cards;public List<Cards> getCards() {return cards;}public void setCards(List<Cards> cards) {this.cards = cards;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}}

接口

public interface PersonRepository extends JpaRepository<Person, String>{@EntityGraph(value = "person.all" , type=EntityGraphType.FETCH)Person findById(String id);}

当去查询person的时候会自动查询Adress和Cards里面的内容,且只发出一条sql语句,这样就解决了是使用关联查询导致sql查询过多的问题

JPA @NamedEntityGraph使用相关推荐

  1. 选择排序_在N + 1场景中,使用@NamedEntityGraph更有选择地加载JPA实体

    选择排序 N + 1问题是使用ORM解决方案时的常见问题. 当您将某些@OneToMany关系的fetchType设置为lazy时,会发生这种情况,以便仅在访问Set / List时才加载子实体. 假 ...

  2. 函数指针使用场景和选择_在N + 1场景中使用@NamedEntityGraph更有选择地加载JPA实体...

    函数指针使用场景和选择 N + 1问题是使用ORM解决方案时的常见问题. 当您将某些@OneToMany关系的fetchType设置为lazy时,就会发生这种情况,以便仅在访问Set / List时才 ...

  3. 在N + 1场景中使用@NamedEntityGraph更有选择地加载JPA实体

    N + 1问题是使用ORM解决方案时的常见问题. 当您将某些@OneToMany关系的fetchType设置为lazy时,会发生这种情况,以便仅在访问Set / List时才加载子实体. 假设我们有一 ...

  4. 解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph

    解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph - EalenXie - 博客园

  5. JPA 2.2改进了易用性

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ Oracle最近发布了Java Persistence API(JPA)2.2版.JPA规范 ...

  6. jpa 实体图查询_JPA实体图

    jpa 实体图查询 JPA 2.1的最新功能之一是可以使用实体图指定获取计划. 这很有用,因为它允许您自定义使用查询或查找操作检索的数据. 在使用中大型应用程序时,通常以不同的方式显示来自同一实体的数 ...

  7. JPA 2.1实体图–第1部分:命名实体图

    延迟加载通常是JPA 2.0的问题. 如果要使用FetchType.LAZY(默认)或FetchType.EAGER来加载关系,则必须在实体上进行定义,并且始终使用此模式. 仅当我们要始终加载关系时才 ...

  8. JPA 2.1实体图–第2部分:在运行时定义延迟/急切加载

    这是我关于JPA 2.1实体图的第二篇文章. 第一篇文章描述了命名实体图的用法. 这些可用于定义在编译时将使用查找或查询方法获取的实体和/或属性的图形. 动态实体图以相同的方式但以动态方式这样做. 这 ...

  9. jpa Specification fetch查询报错,query specified join fetching, but the owner of the fetched association

    jpa Specification fetch查询报错,query specified join fetching, but the owner of the fetched association ...

最新文章

  1. 基于ISO的本地yum源配置
  2. 重物码垛搬运机器人_搬运码垛机器人的特点及应用
  3. 人生苦短我用python梗_人生苦短我用python: eval,e
  4. Android的DataBinding原理介绍
  5. 为选择合适的ERP供应商,是否该发布需求建议书(RFP)?
  6. docker pull 私有_【赵强老师】管理Docker镜像
  7. matlab 数组范围内,MATLAB索引超出数组范围
  8. HDU 3594 Cactus (强连通+仙人掌图)
  9. 安装英伟达显卡旧版驱动
  10. MATLAB 风玫瑰图 wind_rose.m
  11. 手写字体怎么转换?如何快速转换字体?
  12. 【第十五篇】商城系统-商品详情页功能实现
  13. QCustomPlot 1.0.1学习(5)-Sinc函数绘制
  14. 7-2 挑选苹果 (40分)
  15. 有趣的密码学介绍~古典密码之凯撒密码来咯~
  16. 基于STM32与PCA9685制作四足机器人(代码开源)
  17. 利用干支年反推公元年份的计算公式推导
  18. 数据库课程设计(上)(学生成绩管理系统)
  19. [复现]蝉知cms 5.6 前台注入
  20. b360i能用的黑苹果网卡_安装i7-8700+微星 B360M MORTAR+GTX 1060 黑苹果Hackintosh

热门文章

  1. 双向可控硅 2N6073B
  2. iOS游戏如何防御外挂及IAP破解
  3. Posterior Cramér–Rao Bounds for Discrete-Time Nonlinear Filtering 阅读
  4. java的接口简单使用---interface
  5. linux下vmware12不能3D加速解决方法
  6. sat求解器解哈密顿回路
  7. 通达OA 通过程序直接处理手机提醒短信息及事务提醒(图文)
  8. AutoCAD 2014中文版从入门到精通(pdf版)教程免费下载
  9. 报错`RuntimeError: CUDA out of memory. Tried to allocate 256.00 MiB (GPU 0; 9.78 GiB total capaci
  10. 游戏自评——CF手游