实现JPA的懒加载和无外键
实现JPA的懒加载和无外键
在网上找了很多jpa的懒加载,要不就是抓取策略,要不就随便加个fetch=FetchType.LAZY
其实jpa实现懒加载非常简单,其实和mybatis是一样的,就是不要调用对应属性的get方法就可以了
例如
很多接口输出对象时都会用 BeanUtils.copyProperties()将实体转为dto输出,这时候使用它的重载方法copyProperties(Object source, Object target, String… ignoreProperties)就可以实现懒加载了
代码如下
public class NoticeRecord {@OneToMany(fetch=FetchType.LAZY)@JoinColumn(name = "noticeId",foreignKey = @ForeignKey(name = "null"))private List<NoticeSendeeRecord> noticeSendeeRecords;
}
转换时使用
这个重载方法的作用就是转换是忽略noticeRecord中noticeSendeeRecords属性
BeanUtils.copyProperties(noticeRecord,noticeRecordDTO,"noticeSendeeRecords");
这样就实现jpa的懒加载了,检查输出sql语句,也只有查询NoticeRecord 的语句,没有查询NoticeSendeeRecord的语句
而不让jpa产生外键使用 foreignKey = @ForeignKey(name = “null”) 就可以了
实现JPA的懒加载和无外键相关推荐
- Java hibernate假外键_浅谈hibernate急迫加载问题(多重外键关联)
数据库结构如下 strategy中有外键member_id(关联member表)外键strategy_category(关联category表)而member表中有外键position_id(关联po ...
- JPA/hibernate懒加载原理分析及JSON格式API反序列化时连环触发懒加载问题的解决
什么是懒加载 JPA是java持久层的API,也就是java官方提供的一个ORM框架,Spring data jpa是spring基于hibernate开发的一个JPA框架.Spring data j ...
- mysql 懒加载数据_jpa如何懒加载大字段,懒加载之后又如何获取懒加载字段
前言:对于大字段,我们在查询列表的时候不需要查询,但是修改的时候有需要展示大字段内容,怎么办 问1.jpa如何懒加载大字段?即查询列表的时候不查询出来 问2.懒加载之后又如何获取懒加载字段.比如,在后 ...
- SpringBoot JPA 懒加载的问题 ---No session
当前项目中使用的orm框架为 JPA,其所使用的实现类是以Hibernate为基础的: 问题描述: 代码逻辑大致如下 public class EntiryA{int a;int b;String c ...
- 解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph
解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph - EalenXie - 博客园
- vuejs 无node单页应用方案二(babel-standalone or traceur,vue-router实现、组件按需懒加载)
系列文章目录 1.vuejs 无node单页应用方案一(vue标签component ,is实现) 2.vuejs 无node单页应用方案二(babel-standalone or traceur,v ...
- 让Spring 3中jsp的数据对象使用懒加载(FetchType.LAZY)与Controller的JSR 303并存
本文出处:http://blog.csdn.net/chaijunkun/article/details/9083171,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...
- Android 懒加载
最近在重构公司公司的主页,其中用到了懒加载,所以找了网上的懒加载的介绍的博客,读了好几篇关于懒加载的文件,发现不是讲解太简单,就是代码不够清晰,而且在懒加载的实现原理上没有透彻的讲清楚,在实际应用实践 ...
- 系统管理模块_部门管理_设计(映射)本模块中的所有实体并总结设计实体的技巧_懒加载异常问题_树状结构...
系统管理模块_部门管理_设计本模块中的所有实体并总结设计实体的技巧 设计实体流程 1,有几个实体? 一般是一组增删改查对应一个实体. 2,实体之间有什么关系? 一般是页面引用了其他的实体时,就表示与这 ...
- LayUi 树形组件tree 实现懒加载模式,展开父节点时异步加载子节点数据
LayUi框架中树形组件tree官方还在持续完善中,目前最新版本为v2.5.5 官方树形组件目前还不支持懒加载方式,我自己修改了下最新源码tree.js,简单粗暴的方式支持懒加载模式.(Ps:最新更新 ...
最新文章
- 【转】接口测试技术介绍
- java mapreduce 实例_MapReduce -- JAVA 实例(一)计算总数
- java switch 例子_javase switch例子
- CSS之Multi-columns的跨列
- 目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结(转)
- 工作中windows客户端常见问题
- java执行复杂linux,解决java使用Runtime.exec执行linux复杂命令不成功问题
- 全新Java高级工程师学习路线图(附学习资料)
- java string 截取中文乱码_Java如何处理中文乱码问题
- 模块化,组件化,插件化简析
- 自定义ViewGroup
- 蓝桥杯--算法提高 字符串跳步(java)
- 九鼎实际控制人投资观!
- 互联网+大赛作品_“颂中国力量 绘美好梦想”全市中小学生互联网+书画大赛作品展示(十)...
- 2018年人工智能领域研发热点回眸
- Python列表练习——用户管理
- linux无法显示输入法图标,linux mint12安装ibus之后,语言栏不跟随光标和系统托盘输入法图标不能显示问题解决...
- 资料:《新概念英语》旧版(第四册)原文及全文翻译
- MySQL慢查询及解决方案
- mysql第一二三范式_第一范式、第二范式、第三范式
热门文章
- 数据结构实验3-带头结点的单链表
- php 自定义 base64 解码,php base64 编码与解码实例代码
- 【洛谷P3366】最小生成树(kruskal模版题+prim链式加边)
- python中冒号的语法错误_找不出python的语法错误该如何解决?
- Seaborn绘制kdeplot和distplot
- 处理数字音乐文件用计算机软件,工具软件商标注册属于第几类?
- 接口测试及服务器性能压测,接口测试及服务器性能压测
- es 吗 查询必须有sort_elasticsearch使用小结(ES使用小结)
- 3.Python data types
- TensorFlow实践:经典CNN-AlexNet