JPA @NamedEntityGraph使用
@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使用相关推荐
- 选择排序_在N + 1场景中,使用@NamedEntityGraph更有选择地加载JPA实体
选择排序 N + 1问题是使用ORM解决方案时的常见问题. 当您将某些@OneToMany关系的fetchType设置为lazy时,会发生这种情况,以便仅在访问Set / List时才加载子实体. 假 ...
- 函数指针使用场景和选择_在N + 1场景中使用@NamedEntityGraph更有选择地加载JPA实体...
函数指针使用场景和选择 N + 1问题是使用ORM解决方案时的常见问题. 当您将某些@OneToMany关系的fetchType设置为lazy时,就会发生这种情况,以便仅在访问Set / List时才 ...
- 在N + 1场景中使用@NamedEntityGraph更有选择地加载JPA实体
N + 1问题是使用ORM解决方案时的常见问题. 当您将某些@OneToMany关系的fetchType设置为lazy时,会发生这种情况,以便仅在访问Set / List时才加载子实体. 假设我们有一 ...
- 解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph
解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph - EalenXie - 博客园
- JPA 2.2改进了易用性
\ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ Oracle最近发布了Java Persistence API(JPA)2.2版.JPA规范 ...
- jpa 实体图查询_JPA实体图
jpa 实体图查询 JPA 2.1的最新功能之一是可以使用实体图指定获取计划. 这很有用,因为它允许您自定义使用查询或查找操作检索的数据. 在使用中大型应用程序时,通常以不同的方式显示来自同一实体的数 ...
- JPA 2.1实体图–第1部分:命名实体图
延迟加载通常是JPA 2.0的问题. 如果要使用FetchType.LAZY(默认)或FetchType.EAGER来加载关系,则必须在实体上进行定义,并且始终使用此模式. 仅当我们要始终加载关系时才 ...
- JPA 2.1实体图–第2部分:在运行时定义延迟/急切加载
这是我关于JPA 2.1实体图的第二篇文章. 第一篇文章描述了命名实体图的用法. 这些可用于定义在编译时将使用查找或查询方法获取的实体和/或属性的图形. 动态实体图以相同的方式但以动态方式这样做. 这 ...
- 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 ...
最新文章
- 基于ISO的本地yum源配置
- 重物码垛搬运机器人_搬运码垛机器人的特点及应用
- 人生苦短我用python梗_人生苦短我用python: eval,e
- Android的DataBinding原理介绍
- 为选择合适的ERP供应商,是否该发布需求建议书(RFP)?
- docker pull 私有_【赵强老师】管理Docker镜像
- matlab 数组范围内,MATLAB索引超出数组范围
- HDU 3594 Cactus (强连通+仙人掌图)
- 安装英伟达显卡旧版驱动
- MATLAB 风玫瑰图 wind_rose.m
- 手写字体怎么转换?如何快速转换字体?
- 【第十五篇】商城系统-商品详情页功能实现
- QCustomPlot 1.0.1学习(5)-Sinc函数绘制
- 7-2 挑选苹果 (40分)
- 有趣的密码学介绍~古典密码之凯撒密码来咯~
- 基于STM32与PCA9685制作四足机器人(代码开源)
- 利用干支年反推公元年份的计算公式推导
- 数据库课程设计(上)(学生成绩管理系统)
- [复现]蝉知cms 5.6 前台注入
- b360i能用的黑苹果网卡_安装i7-8700+微星 B360M MORTAR+GTX 1060 黑苹果Hackintosh
热门文章
- 双向可控硅 2N6073B
- iOS游戏如何防御外挂及IAP破解
- Posterior Cramér–Rao Bounds for Discrete-Time Nonlinear Filtering 阅读
- java的接口简单使用---interface
- linux下vmware12不能3D加速解决方法
- sat求解器解哈密顿回路
- 通达OA 通过程序直接处理手机提醒短信息及事务提醒(图文)
- AutoCAD 2014中文版从入门到精通(pdf版)教程免费下载
- 报错`RuntimeError: CUDA out of memory. Tried to allocate 256.00 MiB (GPU 0; 9.78 GiB total capaci
- 游戏自评——CF手游