前言

如果是数据库中的delete,update和insert操作,则不需要显式的在Repository的子接口中定义方法。

具体可以去中文论坛查找相关资料。下面主要讨论select操作时get和find的区别。

下面列举的就是springdatajpa的官方文档内容。

getOne()方法

getOne()返回对具有给定标识符的实体的引用。getOne在内部调用EntityManager.getReference()方法。根据文档,此方法将始终返回代理,而不会访问数据库(延迟获取)。如果请求的实体在数据库中不存在,则此方法在实际访问时将引发EntityNotFoundException。

findById()方法

该方法实际上将命中数据库,并将实际对象映射返回到数据库中的一行。如果数据库中没有记录,则是EAGER加载的操作返回null。

这些方法之间的唯一真正区别在于性能。延迟加载的getOne()方法避免了从JVM进行数据库往返,因为在真正访问返回的代理对象的属性之前,它从不访问数据库。

注:某中文论坛上有人说,用getOne取得这个对象,加断点看一下这个对象是个hibernate的代理对象,而不是实体,里面基本没有值。然后换成findOne试了一下,断点查看这个取出来的对象,这个对象是实体,关联也有。

总结

1.get方法select不到数据则报错,find方法select不到数据则返回null。

2.get延迟加载,在真正访问返回的代理对象的属性之前,它从不访问数据库。find则立即加载,将返回到数据库中的一行映射到实际的某个对象。

springdatajpa 中get××方法与find××方法的区别相关推荐

  1. python中break和continue的区别

    python中break和continue的区别 break 结束for 或者while 循环  后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...

  2. java中separator_java - File.separator和路径中的斜杠之间的区别

    java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...

  3. PHP中self和static的区别,php中self与static的区别

    原文链接,猛击这里. php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别.假定我们有class Car – 它有两个方法,model和getModel. ...

  4. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  5. php $this self,php中self与$this的区别

    学习php中self与$this的区别. 先来看下parent与self的例子: /* * parent与self的区别 * by www.jbxue.com */ class A{ function ...

  6. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  7. python中bytearray和java中byte[]的区别_Python经典面试题:说说Python中xrange和range的区别?...

    昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了. 废话不多说,开 ...

  8. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  9. SQL中where与having的区别

    SQL中where与having的区别 目录 SQL中where与having的区别 创建表 插入数据 进行聚合操作 # WHERE是在聚合之前进行数据行的过滤而HAVING实在聚合之后进行新数据的过 ...

最新文章

  1. 命令行创建React项目
  2. oracle rac 磁盘重建,Oracle RAC环境下重建ASM磁盘组 Re-create ASM diskgroup with Oracle RAC...
  3. 那些年,面试被虐过的红黑树 1
  4. Android开发:程序目录结构详解:activity主要方法等
  5. MySQL高级 - 常用工具 - mysql
  6. 使用ViewPager制作Android引导界面
  7. 前端_网页编程 Ajax加强
  8. java压栈重复字符串_Java 实例 – 压栈出栈的方法实现字符串反转
  9. flask-sqlAlchemy 创建表
  10. 潭州课堂25班:Ph201805201 tornado 项目 第八课 增加喜欢功能(课堂笔记)
  11. addr2line -f -e *.so 0x9d69
  12. 11.ar, nm, objdump
  13. 谷歌云实现Google Drive无限空间离线下载(完美版)
  14. 安卓psp模拟器哪个好_psp模拟器安卓完美版下载_psp模拟器完美版手机版下载_玩游戏网...
  15. 机器人潘森护盾_新版潘森无伤抗塔 还能抵消死歌大招?E技能护盾机制全解析...
  16. freemarker加载模板目录的方法
  17. 伺服电机(舵机)简单介绍
  18. WPF动画——故事板(Storyboard)
  19. Android 说说Bitmap那些事
  20. Android项目之二手交易淘学院APP

热门文章

  1. 【solo】环境配置
  2. Python模拟电脑按键
  3. (转)处理微信昵称emoji方法
  4. HSV图像与RGB图像分布代表着什么意思
  5. html5 head标签
  6. java ios内购凭证_iOS内购看我就够了(含代码)
  7. 数据结构__头插法建立单链表、尾插法建立单链表
  8. 关于计算机软件的英语视频,英语配音秀电脑版
  9. GPT-4大爆炸:如何用AI技术革新软件测试开发领域
  10. 淘宝API开发系列:淘宝图片搜索API / item_search_img-按图搜索淘宝商品(拍立淘)/图片搜索API调用值说明