您的位置:澳门皇家赌场真人在线 > 皇家赌场游戏 > Hibernate最周到试题,知识要点

Hibernate最周到试题,知识要点

发布时间:2019-10-04 15:43编辑:皇家赌场游戏浏览(196)

    记录Java版本的更新历史,首若是对以下小说的组合:

    Hibernate专门的学问规律及为啥要用?

    Hibernate中目的的状态:

    在原作本章节,作者详细陈说了二种Lock,并描述了Lock相对synchronized关键字的亮点,不过以我之见,Lock是对synchronized关键字选用场景的贰个填补,二者皆有绝对独立的施用场景,在相对供给简短的二十四线程并发场景下synchronized关键字明确是最便利轻巧的,而在错落有致的多线程多同步的景色中,Lock锁能促成的机能synchronized是做不到的。

    java类加载器是将java class字节码加载到内部存款和储蓄器中的零件,分为教导类加载器(bootstrapClassLoader)、扩张加载器(ExtensionClassLoader)、应用类加载器(appClassLoader)上面分别介绍那三种类加载器。

    • 《openjdk 文档》
    • 《Java - JCP、JS本田CR-V等名词介绍》
    • 《从java1到java9各种版本都有哪些新特点?》
    • 《Java 9正式布告》
    • 《JDK 10 本周将步向候选公布阶段,新特色超越看》
    • 《Java 老矣,尚能饭否?》
    1. 读取并深入分析配置文件
    2. 读取并剖析映射消息,创造SessionFactory
    3. 打开Sesssion
    4. 始建筑工程作Transation
    5. 长久化操作
    6. 付出业务
    7. 关闭Session
    8. 关闭SesstionFactory
    • 有的时候/弹指时景观
    • 漫长化状态
    • 游离状态

    - ReentrantLock类

    1. 使用ReentrantLock类
    private Lock lock = new ReentrantLock();public void testMethos(){ lock.lock(); //同步代码 lock.unlock();}
    
    1. 行使Condition 实现等待/通告
    private Lock lock = new ReentrantLock();public Condition condition = lock.newCondition();public void testMethos(){ lock.lock(); //同步代码 condition.await(); // 同步代码 lock.unlock();}public void signal(){ lock.lock(); //同步代码 condition.signal(); // 同步代码 lock.unlock();}
    
    1. 使用Condition 完毕多路等待/文告利用四个Condition 对象完成多路的守候/通告-自个儿看书啊。。。。
    2. 视同一律锁与非公平锁
    • 正义锁 表示线程获取锁的逐一是比照线程加锁的依次来分配的,即先来先得的FIFO先进先出各种
    private Lock lock = new ReentrantLock;
    
    • 非公平锁 随机获得锁
    1. ReentrantLock相关办法
    - getHoldCount() 查询当前线程保持此锁的个数,也就是调用lock()方法的次数 - getQueueLength() 返回正等待获取此锁的线程估计数 如果返回4 ,说明有4个线程同时在等待lock的释放 - getWaitQueueLength(Condition condition)返回等待给定条件Condition的线程估计数- hasQueuedThread(Thread thread) 查询指定线程是否正在等待获取此锁定- hasQueuedThread() 查询是否有线程正在等待获取此锁定- hasWaiters(Condition condition) 查询是否有线程正在等待与此锁定有关的condition条件- isFair() 判断是不是公平锁- IsHeldByCurrentThread() 查询当前线程是持有此锁- isLocked() 查询此锁是否有线程持有- lockInterruptibly() 如果当前线程未被中断,则获取锁定- tryLock() 在调用时,如果当前锁未被持有,则获取锁定- tryLock(long timeout,TimeUnit unit) 如果在给定的时间内锁没有被其他线程持有,且当前线程未被中断,则获取锁定- awaitUninterrupTibly()- awaitUntil() 
    

    因材施教类加载器是有c++编写,首要意义为加载java遇到本身供给的class,重要蕴涵java_home/lib 目录下java宗旨类库,以及-xbootclasspath参数钦定的类库,值得注意的是此类加载器只加载jdk自己的类库,就算在lib目录下归入新的jar包,该类加载也不会加载。该类加载器要求加载的类新乡还必得是sun、java、javax。

    皇家赌场游戏 1image

    学学Hibernate的目的景况是为了更清晰地掌握Hibernate的布置思想,以及是一级缓存的根基...当然啦,也就一小点学问

    - ReentrantReadWriteLock类

    类ReentrantLock具备完全互斥排他的机能,即同期唯有二个线程在实践ReentrantLock.lock()方法后边的天职,那样做,尽管保证了实例变量的线程安全,但效用是极其低下的。所以JDK提供了 一种读写锁ReentranReadWriteLock类,使用它能够加速运行成效

     1. 一个读操作相关的锁,也称为共享锁,多个读锁之间不互斥 2. 一个写操作相关的锁,也叫排它锁,读锁与写锁互斥,写锁与写锁互斥
    
    ReentrantReadWriteLock lock = new ReentrantReadWriteLock();//读锁lock.readLock;//写锁lock.writeLock;
    

    电磁打点计时器章节的内容已经不达时宜,以往有更加好的按期框架Quartz,所以不做汇报,推荐使用Quartz为电磁照拂计时器

    此章节不胜关键,通过单例形式和三十二线程本领的三结合使用,来陈述所线程使用进度的坑和平解决决方案,提供真实的多线程使用蒙受和主题材料,开阔读者思路,因本章代码多,难度大 就不在此宣布,大家能够自动看书学习

    开拓者能够直接行使扩张类加载器,该加载器担任加载java_home/lib/ext目录下类库。开采者也得以运用扩充类加载器加载-Djava.ext.dir钦点目录下的类库。

    • JCP 是 Java Community Process的简称,社会各界Java组成的社区,规划和首长Java的提高。
    • JEP 是 JDK Enhancement Proposals (Java 巩固提案)的简称,JDK的版本变化将从这个提案中甄选。
    • JS君越 是 Java Specification Requests的简称,是 JCP 成员向委员会交付的 Java 发展议案,经过一名目非常多流程后,如若由此会化为 JEP,最后会反映在今后的Java中。
    • TCK 是 Technology Compatibility 基特的简称, 若是二个平台型程序想要宣称自身宽容Java,就不可能不透过TCK测量检验

    选择Hibernate框架就毫无大家写过多繁琐的SQL语句。Hibernate完毕了ORM,能够将对象映射成数据库表,进而简化大家的支出!

    当我们直接new出来的对象正是一时/弹指时气象的..

    应用类加载器首要用于加载系统选取的class文件。它承担加载系统类路线java -classpath或-D java.class.path 内定路径下的类库,约等于大家平时选取的classpath路径,开垦者能够直接使用系统类加载器,日常情状下该类加载是前后相继中默许的类加载器,通过getSystemClassLoader()方法能够收获到此类加载器。

    JDK 11 目前面世了4个JEP,安插于 2018 年 9 月发布。

    Hibernate是哪些推迟加载?

    • 该对象还没有被长久化【未有保留在数据库中】
    • 不受Session的管理

    Java设想机对class文件接纳的是按需加载的办法,也便是说当须要使用该类时才会将它的class文件加载到内部存款和储蓄器生成class对象,并且加载某个类的class文件时,Java虚构机选用的是老人民委员会派方式Hibernate最周到试题,知识要点。即把加载类的动作交由父类管理,是一种职务委派情势。

    • JEP 309: 动态类文件常量。
    • JEP 318: 低成本垃圾收罗器 Epsilon。
    • JEP 320: 移除 Java EE 和 CORBA 模块。
    • JEP 323: 拉姆da 参数的地点变量语法。

    由此设置属性lazy实行设置是不是须求懒加载

    皇家赌场游戏 2此地写图片描述

    在java中类加载器被供给都要有父加载器,除了顶层的指点类加载器。不过父母委派方式中的老爹和儿子关系并非所说的类承接关系中的老爹和儿子,而是利用一种组成的关系复用父加载器的代码。

    JDK 10 按布置将于二〇一八年八月27日公布。新天性有:

    当Hibernate在询问数据的时候,数据并从未存在与内部存款和储蓄器中,当程序真的对数据的操作时,对象才存在与内部存款和储蓄器中,就贯彻了推迟加载,他节省了服务器的内部存款和储蓄器费用,从而坚实了服务器的性质。

    当保存在数据库中的对象正是长久化状态了

    皇家赌场游戏 3图1皇家赌场游戏 4图2

    • JEP 286: 局地变量的品类推导。该性格在社区研究了非常久并做了考察,可查看 JEP 286 考查结果。
    • JEP 296: 将 JDK 的多个代码旅馆合併到二个积累库中。
    • JEP 304: 垃圾搜聚器接口。通过引进二个完完全全的废品采摘器接口,改革不一样垃圾搜罗器的源码阻隔性。
    • JEP 307: 向 G1 引进并行 Full GC。
    • JEP 310: 应用类数据共享。为创新运营和据有空间,在现存的类数据分享功能上海重机厂复开展,以允许应用类放置在分享存档中。
    • JEP 312: 线程局地管控。允许截止单个线程,并非只好启用或终止全部线程。
    • JEP 313: 移除 Native-Header Generation Tool
    • JEP 314: 额外的 Unicode 语言标签增加。包蕴:cu 、fw (每一周第一天为星期几)、rg 、tz 等。
    • JEP 316: 在备用内部存储器设备上分红堆内部存款和储蓄器。允许 HotSpot 虚构机在备用内部存款和储蓄器设备上分红 Java 对象堆。
    • JEP 317: 基于 Java 的 JIT 编译器。
    • JEP 319: 根证书。开源 Java SE Root CA 程序中的根证书。
    • JEP 322: 基于大运的版本发表方式。“Feature releases” 版本将含有新特点,“Update releases” 版本仅修复 Bug 。

    Hibernate中如何贯彻类之间的关联?(如:一对多、多对多的关系)

    • 当调用session的save/saveOrUpdate/get/load/list等方法的时候,对象便是持久化状态
    • 在数据库有相应的数目
    • 受Session的管理
    • 当对指标属性进行改换的时候,会反映到数据库中!

    唯独当您看java jdk那多少个类源码是普通会有狐疑,因为他们的承继关系毫比不上图1所示,而是如图2所示,那是因为上边所说的家长委托中的双亲和幼子并非指类继承关系中的父类,而是以调用优先顺序来表示的父亲和儿子关系。如appClassLoader中的parent属性指向了extClassLoader,大家称extClassLoader在父母委托形式中是appClassLoader的父加载器。假如大家自定义贰个MyClassLoader承接ClassLoader类,我们开掘MyClassLoader中的parent依旧指向的是appClassLoader。也正是说在类关系图中,MyClassLoader是ClassLoader的子类,不过在家长江水利委员会托情势链中MyClassLoader是AppClassLoader的子节点。那是为何呢?我们来看下ClassLoader的构造函数

    JDK 9 于二〇一七年12月23日公告。新特点有:

    它们经过配备文件中的many-to-one、one-to-many、many-to-many来兑现类之间的关系关系的。

    皇家赌场游戏 5此间写图片描述

    皇家赌场游戏 6图3

    • 模块化 —— Jigsaw
    • 交互式命令行 —— JShell
    • 默认的垃圾回收器 —— G1
    • 经过操作立异
    • 竞争锁的习性优化
    • 支行代码缓存
    • 优化字符串占用空间

    hibernate的三种情况之间什么改动

    咱俩来测量检验一下:当对指标属性实行转移的时候,会反映到数据库中!

    如图ClassLoader类在未曾显试钦定父节点是什么人的时候,私下认可是Launcher.getClassLoader()获取,即AppClassLoader,至此真相大白!

    这么些版本中最显明的时候模块化,通过那一个职业,能够创设越来越小的运作时碰到,只须求包含Java平台中职分信任的一些。那足以越来越好地适应云端的付出。

    Hibernate中目的的场馆:

     session.save; idCard.setIdCardName("我是测试持久化对象");
    

    tip

    tip1、类加载器与main方法 与jjava进度之间的涉嫌。

    当我们运行贰个Java程序,即起步一个main方法时,都将起动三个Java虚构机进程,不管那么些历程有多么繁杂。而各异的JVM进度之间是不会相互影响的。这也正是干吗说,Java程序唯有三个进口——main方法,让设想机调用。而多少个mian方法,对应的是2个JVM进程,运转的是七个不一致的类加载器,操作的骨子里是见仁见智的类。故而不会互相影响。

    tip2、从前看完java类加载器的涉及,平昔心里有疑忌,感觉哪里有何样难题,又不亮堂难题在哪,看完tomcat的类加运载飞机制,在写那一个文章的时候,想知道了难题和答案。笔者意识在写东西的时候能更加好的梳理逻辑。难题如下:假设java依照老人民委员会派形式加载类,那岂不是全数的类都会被最顶层的类加载器所加载?bootStrap明显不会只会加载宗旨类包 ,ExtClassLoader也是会加载ext目录下jar包,那么AppClassLoader呢?俺猜AppClassLoader会加载main函数所在classpath。其它全数的自定义classloader都会加载钦定目录下class,那样就不会油然则生全体class都由AppClassLoader加载的景况了。证据如下ULANDLclassLoader的构造函数如下:

    皇家赌场游戏 7评释构造函数

    表明classLoader须求钦定类加载路线。

    tip3、一个运用里类静态变量永恒独有三个值吗?

    我们都知情静态变量属于类,全体的对象分享叁个值。在明白java类加载器以前,平昔以为贰个静态变量在贰个运用里唯有几个值。不过学习完java类加载后就悟出或许不是,假若那几个类被四个类加载器加载,那么它的静态变量就恐怕有八个值。大家写个程序来声明下,如下:

    皇家赌场游戏 8测验代码皇家赌场游戏 9测量试验结果

    能够看来,当多个类加载器分别加载了class后,class对象不是同一个。通过反射把c1的say值改为hello2,c2的say值依旧hello。验证完成。

    现实的特性包涵:

    • 有时/须臾时气象
    • 持久化状态
    • 游离状态

    皇家赌场游戏 10此间写图片描述

    • JEP 102: 改进了决定和管制操作系统进度的 API。
    • JEP 110: 定义了贰个新的 Http 顾客端 API,它实现了 HTTP/2WebSocket,而且能够代替遗留的 HttpURLConnection API。该 API 将会以多个 incubator 模块的样式张开提交。
    • JEP 143: 提高竞争 Java 对象的监视品质。
    • JEP 158: 统一 JVM 的日志。
    • JEP 165: 通过扶助运营时管理来增添对 JVM 编写翻译器的管理。
    • JEP 193: 对变量管理的改革。
    • JEP 197: 将代码缓存划分成不相同的段。
    • JEP 200: 选择 Java 平台模块化系统(Java Platform Module System,JPMS)对JDK进行模块化。
    • JEP 201: 源代码模块化。
    • JEP 211: 在 import 语句中 省略 deprecation 的警告。
    • JEP 212: 解决 lint 和 doclint 警告。
    • JEP 213: Project Coin 的改变
    • JEP 214: 移除 JDK 8 中 GC 组合器的裁撤表明。
    • JEP 215: 在 javac 中达成了贰个新的门类检测战术。
    • JEP 216: 精确地拍卖导入注脚。
    • JEP 217: 注脚流水生产线 2.0。
    • JEP 219: 定义了数据传输层安全(Datagram Transport Layer Security, DTLS)API。
    • JEP 220: 模块化运营时镜像。
    • JEP 221: 简化 Doclet API。
    • JEP 222: jshell - Java 中的交互式命令行。
    • JEP 223: 新的本子字符串形式。
    • JEP 224: 巩固了 javadoc 工具来生成 HTML5 标志。
    • 皇家赌场游戏,JEP 225: 增加了 javadoc 搜索。
    • JEP 226: UTF-8 属性文件财富的Bundle相关变化。
    • JEP 227: Unicode 7.0。
    • JEP 228: 增添更加多可检查判断的指令。
    • JEP 229: 将暗中同意的秘钥库从 JKS 替换为 PKCS12。
    • JEP 231: 移除运转时 JRE 版本采取。
    • JEP 232: 增强了平安有关应用的品质。
    • JEP 233: 开荒了八个工具来自动测验运营时编写翻译器。
    • JEP 235: 增添有关 javac 生成类文件属性的 测量试验。
    • JEP 236: 定义了剖判 API 来支撑 Nashorn 的 ECMAScript 抽象语法树。
    • JEP 237: Linux/AArch64 端口相关。
    • JEP 238: 多版本 JAR 文件。
    • JEP 240: 移除 JVM 的 TI hprof 客户端。
    • JEP 241: 移除 jhat 工具。
    • JEP 243: 提供 Java 语言级的 JVM 编写翻译接口。
    • JEP 244: TLS 应用层合同协商。
    • JEP 245: 验证 JVM 命令行标记参数。
    • JEP 246: 利用 CPU 指令升高 GHASH 和 TiggoSAd 的本性。
    • JEP 247: 对老平台版本的编写翻译援助。
    • JEP 248: G1 作为暗中认可的杂质回收器。
    • JEP 249: 基于 TLS 实现 OCSP Stapling。
    • JEP 250: 在类数据分享归档中存款和储蓄 interned 字符串。
    • JEP 251: 多方案镜像。
    • JEP 252: 暗中认可使用 CLD宝马7系 Locale Data。
    • JEP 253: 为 JavaFX UI 调控 和 CSS API 的模块化做图谋。
    • JEP 254: 选拔贰个上空特别便捷的 String 内部表示。
    • JEP 255: 合併 Xerces 2.11.0 中的更新。
    • JEP 256: BeanInfo 表明调治。
    • JEP 257: 更新 JavaFX/Media 中 GStreamer 的版本。
    • JEP 258: 使用 HarfBuzz 作为字体布局引擎。
    • JEP 259: 定义了多个急速标准的 Stack-Walking API。
    • JEP 260: 封装超过一半的内部 API。
    • JEP 261: 达成模块化系统。
    • JEP 262: 支持 TIFF 图像 I/O。
    • JEP 263: 实现 Windows 和 Linux 高分辨率图像接口。
    • JEP 264: 平台日志 API 和 服务。
    • JEP 265: Java 2D 使用 Marlin Graphics Renderer。
    • JEP 266: 并发相关的有个别更新。
    • JEP 267: 支持 Unicode 8.0。
    • JEP 268: 支持 XML 目录。
    • JEP 269: 扩张部分集合类成立的厂子方法。
    • JEP 270: 为临界区预留栈的有个别区域。
    • JEP 271: 统一 GC 日志。
    • JEP 272: 扩展一定平台的桌面性子。
    • JEP 273: Deterministic Random Bit Generator 的实现。
    • JEP 274: 加强方法管理器。
    • JEP 275: Java 应用模块化打包。
    • JEP 276: 语言定义对象模型的动态链接。
    • JEP 277: 改善 Deprecation。
    • JEP 278: 为 G1 中的巨大对象扩充测量试验。
    • JEP 279: 创新测量试验故障排除。
    • JEP 280: 提醒字符串串联。
    • JEP 281: HotSpot C++ 单元测量试验框架。
    • JEP 282: Java连接器 jlink。
    • JEP 283: 在 Linux 上支持 GTK 3。
    • JEP 284: 新的 HotSpot 营造系统。
    • JEP 285: 自旋等待升迁。
    • JEP 287: 实现 SHA-3 Hash 算法。
    • JEP 288: 禁止 SHA-1 验证。
    • JEP 289: 废弃 Applet API。
    • JEP 290: 过滤输入的类别化数据。
    • JEP 291: 放任 Concurrent Mark Sweep 垃圾收罗器。
    • JEP 292: 在 Nashorn 中支持 ECMAScript 6 特征。
    • JEP 294: Linux/s390x 端口。
    • JEP 295: 提前编写翻译。
    • JEP 297: 统一 arm32/arm64 端口。
    • JEP 298: 移除过时的例子。
    • JEP 299: 重新组织文档。

    不经常/须臾时情景

    当我们一向new出来的靶子正是暂且/弹指时景色的..

    • 该对象还尚未被漫长化【未有保存在数据库中】
    • 不受Session的管理

    皇家赌场游戏 11这里写图片描述

    当Session关闭了以往,长久化的靶子就改成了游离状态了...

    JDK 8 于二〇一六年6月14号宣布。从 Java 8 起先支付代号已经弃用了。新特色有:

    长久化状态

    当保存在数据库中的对象正是持久化状态了

    • 当调用session的save/saveOrUpdate/get/load/list等办法的时候,对象就是漫长化状态
    • 在数据库有对应的数码
    • 受Session的管理
    • 当对指标属性实行更换的时候,会展示到数据库中!

    皇家赌场游戏 12此间写图片描述

    大家来测量试验一下:当对目的属性进行改造的时候,会展现到数据库中!

     session.save; idCard.setIdCardName("我是测试持久化对象");
    

    皇家赌场游戏 13那边写图片描述

    • 不处于session的管理
    • 数据库中有对应的记录
    • Lambda 表达式
    • Pipelines 和 Streams
    • Date 和 Time API
    • Default 方法
    • Type 注解
    • Nashhorn JavaScript 引擎
    • 并发计数器
    • Parallel 操作
    • 移除 PermGen Error
    • TLS SNI

    游离状态

    当Session关闭了今后,悠久化的靶子就改成了游离状态了...

    • 不处于session的管理
    • 数据库中有对应的笔录

    皇家赌场游戏 14此间写图片描述

    有了地点的根底,大家就很轻巧讲出它们中间的调换了

    • new出来的目的是弹指间事态->保存到数据库中(受Session管理)正是漫长化状态->将session close掉正是游离状态

    比较hibernate的三种检索计策优短处

    即时寻找:

    • 亮点: 对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都得以低价的从三个指标导航到与它事关的靶子;
    • 症结: 1.select语句太多;2.可能会加载应用程序不需求探访的指标白白浪费好多内部存款和储蓄器空间;
    • 即时寻找:lazy=false

    延期探求:

    • 亮点: 由应用程序决定供给加载哪些对象,可避防止可实行多余的select语句,以及幸免加载应用程序没有必要探问的靶子。由此能增进检索品质,而且能省掉内部存款和储蓄器空间;
    • 瑕疵: 应用程序如若指望访谈游离状态代理类实例,必得保障他在长久化状态时一度被开首化;
    • 延迟加载:lazy=true

    急于左外连接检索:

    • 可取: 1对应用程序完全透明,不管对象处于长久化状态,照旧游离状态,应用程序都能够方便地冲三个目的导航到与它关系的目的。2应用了外接连,select语句数目少;
    • 劣势: 1 可能会加载应用程序无需拜谒的目的,白白浪费相当多内部存款和储蓄器空间;2繁杂的数码库表连接也会潜濡默化检索质量;
    • 预先抓取: fetch=“join”

    hibernate都帮忙什么缓存战术

    usage的品质有4种:

    • 放入二级缓存的靶子,只读(Read-only);
    • 非严刻的读写(Nonstrict read/write)
    • 读写; 归入二级缓存的目的足以读、写(Read/write);
    • 依赖事务的国策(Transactional)

    hibernate里面包车型大巴sorted collection 和ordered collection有怎样不一样

    sorted collection

    • 是在内存中通过Java比较器进行排序的

    ordered collection

    • 是在数据库中经过order by张开排序的

    对此十分的大的数据集,为了防止在内部存款和储蓄器中对它们举办排序而产出 Java中的OutOfMemoryError,最佳使用ordered collection。

    说下Hibernate的缓存机制

    一流缓存:

    • Hibenate中一流缓存,也称之为session的缓存,它能够在session范围内收缩数据库的寻访次数! 只在session范围有效! Session关闭,一级缓存失效!
    • 假假如持久化对象景况的,都受Session管理,也正是说,都会在Session缓存中!
    • Session的缓存由hibernate维护,顾客不可能操作缓存内容; 倘若想操作缓存内容,必得透过hibernate提供的evit/clear方法操作

    二级缓存:

    • 二级缓存是依打点用程序的缓存,全数的Session都得以使用
    • Hibernate提供的二级缓存有私下认可的贯彻,且是一种可插配的缓存框架!假诺顾客想用二级缓存,只须要在hibernate.cfg.xml中布局就可以; 不想用,直接移除,不影响代码。
    • 万一客商感觉hibernate提供的框架框架倒霉用,友好能够换其余的缓存框架或和煦达成缓存框架都得以
    • Hibernate二级缓存:积累的是常用的类

    皇家赌场游戏 15此处写图片描述

    Hibernate的询问格局有二种

    • 目的导航查询(objectcomposition)
    • HQL查询
      • 1、 属性查询
      • 2、 参数查询、命名参数查询
      • 3、 关联合检查询
      • 4、 分页查询
      • 5、 总计函数
    • Criteria 查询
    • SQLQuery本地SQL查询

    什么样优化Hibernate?

    • Ø 数据库设计调治
    • Ø HQL优化
    • Ø API的没有错采用(如基于不一样的专门的学业种类接纳不一致的联谊及查询API)
    • Ø 主配置参数(日志,查询缓存,fetch_size, batch_size等)
    • Ø 映射文件优化(ID生成计策,二级缓存,延迟加载,关联优化)
    • Ø 顶尖缓存的管制
    • Ø 针对二级缓存,还会有为数不菲有意的布署

    端详可参照他事他说加以考察资料:

    谈谈Hibernate中inverse的作用

    inverse属性暗许是false,正是说关系的互相都来保卫安全关系。

    • 举个例子Student和Teacher是多对多涉及,用贰在那之中路表TeacherStudent维护。Gp)
    • 倘使Student那边inverse=”true”, 那么涉及由另一端Teacher维护,正是说当插入Student时,不会操作TeacherStudent表。唯有Teacher插入或删除时才会触发对中间表的操作。所以两侧都inverse=”true”是有有失常态态的,会变成其他操作都不触发对中间表的熏陶;当两侧都inverse=”false”或默许时,会导致在中间表中插入两回提到。

    万一表之间的关系关系是“一对多”的话,那么inverse只好在“一”的一方来布署!

    详细情况可参照:

    JDBC hibernate 和 ibatis 的区别

    皇家赌场游戏 16此处写图片描述

    其多少个有里程碑意义的 Java 版本。当中最刚烈的就是 Lambda 表明式了,从此 Java 语言原生提供了函数式编制程序手艺。Java 8 特别适应海量云总结的须要。

    jdbc:手动

    • 手动写sql
    • delete、insert、update要将目的的值二个一个抽出传到sql中,无法直接传入一个对象。
    • select:重回的是七个resultset,要从ResultSet中一行一行、一个字段三个字段的抽出,然后装进到贰个对象中,不直接重临五个目的。

    Hibernate有一流缓存和二级缓存之分,这里关键批注一流缓存

    本文由澳门皇家赌场真人在线发布于皇家赌场游戏,转载请注明出处:Hibernate最周到试题,知识要点

    关键词: