实现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的懒加载和无外键相关推荐

  1. Java hibernate假外键_浅谈hibernate急迫加载问题(多重外键关联)

    数据库结构如下 strategy中有外键member_id(关联member表)外键strategy_category(关联category表)而member表中有外键position_id(关联po ...

  2. JPA/hibernate懒加载原理分析及JSON格式API反序列化时连环触发懒加载问题的解决

    什么是懒加载 JPA是java持久层的API,也就是java官方提供的一个ORM框架,Spring data jpa是spring基于hibernate开发的一个JPA框架.Spring data j ...

  3. mysql 懒加载数据_jpa如何懒加载大字段,懒加载之后又如何获取懒加载字段

    前言:对于大字段,我们在查询列表的时候不需要查询,但是修改的时候有需要展示大字段内容,怎么办 问1.jpa如何懒加载大字段?即查询列表的时候不查询出来 问2.懒加载之后又如何获取懒加载字段.比如,在后 ...

  4. SpringBoot JPA 懒加载的问题 ---No session

    当前项目中使用的orm框架为 JPA,其所使用的实现类是以Hibernate为基础的: 问题描述: 代码逻辑大致如下 public class EntiryA{int a;int b;String c ...

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

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

  6. vuejs 无node单页应用方案二(babel-standalone or traceur,vue-router实现、组件按需懒加载)

    系列文章目录 1.vuejs 无node单页应用方案一(vue标签component ,is实现) 2.vuejs 无node单页应用方案二(babel-standalone or traceur,v ...

  7. 让Spring 3中jsp的数据对象使用懒加载(FetchType.LAZY)与Controller的JSR 303并存

    本文出处:http://blog.csdn.net/chaijunkun/article/details/9083171,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...

  8. Android 懒加载

    最近在重构公司公司的主页,其中用到了懒加载,所以找了网上的懒加载的介绍的博客,读了好几篇关于懒加载的文件,发现不是讲解太简单,就是代码不够清晰,而且在懒加载的实现原理上没有透彻的讲清楚,在实际应用实践 ...

  9. 系统管理模块_部门管理_设计(映射)本模块中的所有实体并总结设计实体的技巧_懒加载异常问题_树状结构...

    系统管理模块_部门管理_设计本模块中的所有实体并总结设计实体的技巧 设计实体流程 1,有几个实体? 一般是一组增删改查对应一个实体. 2,实体之间有什么关系? 一般是页面引用了其他的实体时,就表示与这 ...

  10. LayUi 树形组件tree 实现懒加载模式,展开父节点时异步加载子节点数据

    LayUi框架中树形组件tree官方还在持续完善中,目前最新版本为v2.5.5 官方树形组件目前还不支持懒加载方式,我自己修改了下最新源码tree.js,简单粗暴的方式支持懒加载模式.(Ps:最新更新 ...

最新文章

  1. 【转】接口测试技术介绍
  2. java mapreduce 实例_MapReduce -- JAVA 实例(一)计算总数
  3. java switch 例子_javase switch例子
  4. CSS之Multi-columns的跨列
  5. 目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结(转)
  6. 工作中windows客户端常见问题
  7. java执行复杂linux,解决java使用Runtime.exec执行linux复杂命令不成功问题
  8. 全新Java高级工程师学习路线图(附学习资料)
  9. java string 截取中文乱码_Java如何处理中文乱码问题
  10. 模块化,组件化,插件化简析
  11. 自定义ViewGroup
  12. 蓝桥杯--算法提高 字符串跳步(java)
  13. 九鼎实际控制人投资观!
  14. 互联网+大赛作品_“颂中国力量 绘美好梦想”全市中小学生互联网+书画大赛作品展示(十)...
  15. 2018年人工智能领域研发热点回眸
  16. Python列表练习——用户管理
  17. linux无法显示输入法图标,linux mint12安装ibus之后,语言栏不跟随光标和系统托盘输入法图标不能显示问题解决...
  18. 资料:《新概念英语》旧版(第四册)原文及全文翻译
  19. MySQL慢查询及解决方案
  20. mysql第一二三范式_第一范式、第二范式、第三范式

热门文章

  1. 数据结构实验3-带头结点的单链表
  2. php 自定义 base64 解码,php base64 编码与解码实例代码
  3. 【洛谷P3366】最小生成树(kruskal模版题+prim链式加边)
  4. python中冒号的语法错误_找不出python的语法错误该如何解决?
  5. Seaborn绘制kdeplot和distplot
  6. 处理数字音乐文件用计算机软件,工具软件商标注册属于第几类?
  7. 接口测试及服务器性能压测,接口测试及服务器性能压测
  8. es 吗 查询必须有sort_elasticsearch使用小结(ES使用小结)
  9. 3.Python data types
  10. TensorFlow实践:经典CNN-AlexNet