1.什么是Hibernate Framework?

对象关系映射或对象关系管理(ORM)是将应用程序域模型对象映射到关系数据库表的编程技术。Hibernate是基于Java的ORM工具,它提供了一个框架,用于将应用程序域对象映射到关系数据库表,反之亦然。

Hibernate提供了Java Persistence API的参考实现,使其成为具有松散耦合优势的ORM工具的绝佳选择。我们可以使用Hibernate持久性API进行CRUD操作。Hibernate框架提供了使用JPA批注以及基于XML的配置将纯旧的Java对象映射到传统数据库表的选项。

同样,Hibernate配置也很灵活,可以从XML配置文件以及以编程方式完成。

2.使用Hibernate Framework有哪些重要好处?

使用Hibernate框架的一些重要好处是:

  1. Hibernate消除了JDBC附带的所有样板代码,并负责管理资源,因此我们可以专注于业务逻辑。
  2. Hibernate框架提供对XML和JPA注释的支持,这使我们的代码实现独立。
  3. Hibernate提供了一种与SQL类似的强大查询语言(HQL)。但是,HQL完全面向对象,并且了解诸如继承,多态性和关联之类的概念。
  4. Hibernate是Red Hat Community的一个开源项目,已在全球范围内使用。这使它成为比其他方法更好的选择,因为学习曲线很小,并且有大量的在线文档,并且可以在论坛中轻松获得帮助。
  5. Hibernate易于与其他Java EE框架集成,因此非常流行,Spring框架提供了将Hibernate与Spring应用程序集成的内置支持。
  6. Hibernate支持使用代理对象进行延迟初始化,并且仅在需要时才执行实际的数据库查询。
  7. Hibernate缓存有助于我们获得更好的性能。
  8. 对于数据库供应商特定的功能,Hibernate是合适的,因为我们还可以执行本机sql查询。

Hibernate在前几年是比较流行,现在感觉没落了,它包含您在ORM工具中将需要的所有功能。

3.解释Hibernate架构。

4. get和load方法之间有什么区别?

下面给出了get()和load()方法之间的区别。

没有。 get()** load() 1) 如果找不到对象,则 返回null 。 如果找不到对象,则引发ObjectNotFoundException 。 2) get()方法总是命中数据库。 load()方法不会访问数据库。 3) 它返回一个真实的对象,而不是proxy 。 它返回一个代理对象。 4) 如果您不确定实例是否存在,则应使用它。 如果您确定实例存在,则应使用它。

5. Hibernate与JDBC相比有什么优势?

Hibernate框架相对于JDBC的一些重要优点是:

  1. Hibernate删除了JDBC API附带的许多样板代码,这些代码看起来更清晰易读。
  2. Hibernate支持继承,关联和集合。JDBC API不提供这些功能。
  3. Hibernate隐式提供事务管理,实际上,大多数查询无法在事务外部执行。在JDBC API中,我们需要使用commit和rollback编写用于事务管理的代码。
  4. JDBC API抛出SQLException ,这是一个已检查的异常,因此我们需要编写许多try-catch块代码。在大多数情况下,它在每个JDBC调用中都是多余的,用于事务管理。Hibernate包装JDBC异常并抛出JDBCException或HibernateException未经检查的异常,因此我们不需要编写代码来处理它。Hibernate内置的事务管理功能消除了try-catch块的使用。
  5. Hibernate查询语言(HQL)更加面向对象,并且与Java编程语言非常接近。对于JDBC,我们需要编写本机SQL查询。
  6. Hibernate支持更好的性能缓存,不缓存JDBC查询,因此性能低下。
  7. Hibernate提供了一些选项,通过它们我们也可以创建数据库表,因为JDBC表必须存在于数据库中。
  8. Hibernate配置可帮助我们将JDBC之类的连接以及JNDI DataSource用于连接池。这是企业应用程序中非常重要的功能,而JDBC API完全没有。
  9. Hibernate支持JPA批注,因此代码独立于实现,可轻松地用其他ORM工具替换。JDBC代码与应用程序紧密结合。

欢迎关注 Java架构师社区公众号. 本文转载自Java架构师必看 ,更多内容点击查看!

hibernate get方法有执行sql但是后台拿不到_「6」进大厂必须掌握的面试题-Hibernate...相关推荐

  1. [SQL指令]使用 PIVOT 和 UNPIVOT,「扭转」查询的结果。

    原文出处:[SQL指令]使用 PIVOT 和 UNPIVOT,「扭转」查询的结果. http://www.dotblogs.com.tw/mis2000lab/archive/2010/12/24/m ...

  2. mysql 递归_「MySQL」 - SQL Cheat Sheet - 未完成

    近几个月的心情真是安排的妥妥的,呈现W状.多的不说了,这里对SQL的测试进行简单梳理,制作一份SQL Cheat Sheet. 0x01.数据库基本架构 Clinet层 Server层 连接器 网络连 ...

  3. sql 查询重复数据大于2条以上的_「干货」关于SQL书写建议 索引优化的总结,你值得拥有...

    前言 平时写sql写的比较多,一直没把优化相关的知识整理记录下来,本文章记录对SQL优化的一些技巧: 我将结合demo(一个百万级数据表),去实践验证这些优化技巧. 测试用例 接下来,我们创建一个测试 ...

  4. Android 手机运存越来越大,为什么后台应用还是会被「杀」?

    不知不觉间 Android 陷入了一个关于「后台」的怪圈:一边各大厂商陆续推出了 12G RAM 的手机,另一边你刚刚放到后台的下载任务没有如预期那样后台挂机下载,打开微信发现还得陪启动画面的孤独小人 ...

  5. activemq后台管理 看topic消息_「Java」 - SpringBoot amp; ActiveMQ

    一.消息队列 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合.异步消息.流量削锋等问题,实现高性能.高可用.可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件. 目前在生产环境中使用较 ...

  6. eclipse折叠if语句块_「03」java中的方法以及控制语句

    语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句.块确定了局部变量的作用域.块中的程序代码,作为一个整体,是要被一起执行的.块可以被嵌套在另一个块中,但是不能在两个嵌套的块内声明 ...

  7. 两个iphone怎么大量传照片_「唯物」传个视频到 iPhone,有了新方法

    出个难题:老婆用 iPhone 刚录的视频,想传到老公 Android 手机上,或者反方向老公传给老婆,有什么简便方法? 以下两个,可能是普通人最容易想到的: 有网的话,通过云存储中转:iPhone ...

  8. java 云笔记 总结_「370027」有道云笔记的java后台开发部分笔记整理归纳 - seo实验室...

    370027 1.jsp (1)jsp的九大内置对象:http://note.youdao.com/noteshare?id=6c024325c6498481c42e79d4392a03c7 (2)j ...

  9. mariadb导入sql数据_「译」关系型数据库介绍

    原文来自MariaDB官网的基础知识储备库中关系型数据库的介绍,原文链接:https://mariadb.com/kb/en/library/introduction-to-relational-da ...

最新文章

  1. __builtin__与__builtins__的区别与关系
  2. java 基础api实现上传,上传文件到7牛云存储的java api一个简单的demo实现
  3. 如何得到当前application server的host name和port number
  4. [学习笔记] 二次剩余
  5. 关于tx-lcn分布式事务框架的几个问题
  6. JAVA操作属性文件,可进行读 写 更改
  7. 实木地板被机器人弄成坑_防腐木地板怎选择 防腐木地板怎样安装
  8. LoadRunner 测试脚本
  9. 电脑只有一个c盘怎么办_新买的电脑,拿到手只有一个C盘,如何分成两个盘
  10. 史上最全macos安装xgboost教程
  11. java打字小游戏源码_java实现快速打字游戏
  12. 计算机技术在中医领域的应用,计算机技术在中医药领域的应用概况.doc
  13. 旧电脑再利用:完整版 Chrome OS 安装指南
  14. 网站优化关键词选择时需要的注意事项
  15. android定时器常用方法,Android计时器的三种实现方式
  16. 仿真软件proteus构建LCD1602四线驱动实验
  17. 一种特殊的魔方阵解法
  18. nic占用率很高 Linux,linux – 许多丢弃了我的NIC数据包
  19. 婚姻生活,艰难困苦中,水深火热中
  20. java面试题_度小满一面_java面经汇总

热门文章

  1. python脚本 游戏赚金币_python捡金币游戏(上)
  2. 服务器能进系统滴滴响,ibm x226服务器开机嘀嘀嘀响三遍就没反应了。是怎么回事?内存吗?...
  3. JAVA写的文件分割与文件合并程序
  4. Spring Boot 案例:连接后台数据库实现用户登录
  5. Spring Boot基础学习笔记02:Spring Boot项目单元测试、热部署与原理分析
  6. 【BZOJ1999】树网的核,求树的直径+单调队列乱搞
  7. 7.边缘检测:2D运算——Canny边缘原理、Canny边缘检测器、Canny-Matlab实战_2
  8. 计算机网络训练参考文献,计算机网络实用技术教学方法的研究
  9. python运行报错_请教大神python运行书上源码报错,请指点,谢谢
  10. Pentium Pro架构/流水线及其优化 (2) - 指令流水线 存储子系统详解