spring data jpa projection
需求
- 查询数据时只需要实体的部分字段
- 一对多关联
@OneToMany
的多端一起查出来,并且One 端只需要部分字段 - 解决一对多关联的循环依赖
- one 端依然使用懒加载
FetchType.LAZY
解决概要
spring data jpa
投影 Projection : 获取部分属性,包括集合类型的属性@JsonIgnoreProperties("xxx")
注解 : 解决序列化循环引用- 查询出来的仍然是全部字段,只是通过接口映射了部分字段
- 使用
@NamedEntityGraph
,@EntityGraph
注解
注意
声明
@EntityGraph
后,定义的projection 接口中忘记写获取集合的方法会报错:query specified join fetching, but the owner of the fetched association was not present in the select list