Hibernate面试题2025年3月16日 | 6分钟阅读 之所以会问Hibernate面试题,是因为它是广泛使用的ORM工具。以下是为初学者和专业人士准备的20个最重要的Hibernate面试题及答案。 1) 什么是Hibernate?Hibernate是一个开源的、轻量级的ORM工具,用于从数据库存储、操作和检索数据。 更多详情...2) 什么是ORM?ORM是Object/Relational Mapping的首字母缩写。它是一种将对象映射到数据库中存储的数据的编程策略。它简化了数据创建、数据操作和数据访问。 3) 请解释Hibernate架构?Hibernate架构包含许多接口,如Configuration、SessionFactory、Session、Transaction等。 更多详情...![]() 4) Hibernate的核心接口有哪些?Hibernate框架的核心接口是
5) 与JDBC相比,使用ORM有什么优点?与JDBC相比,ORM具有以下优点
6) 在Hibernate的上下文中,定义Criteria。Criteria对象用于创建和执行面向对象的Criteria查询。 7) 列举Hibernate支持的一些数据库。Hibernate支持的一些数据库是
8) 列出Hibernate的关键组件。Hibernate的关键组件是
9) 提及Hibernate配置对象的两个组件。数据库连接 类映射设置 10) 如何在Hibernate中创建SQL查询?SQL查询是使用以下语法创建的 Session.createSQLQuery 11) HQL代表什么?Hibernate查询语言 12) 如何创建HQL查询?HQL查询是使用以下语法创建的 Session.createQuery 13) 如何向SQL查询添加Criteria?通过使用Session.createCriteria可以向SQL查询添加Criteria。 14) 定义持久化类。对象存储在数据库表中的类称为持久化类。 15) 什么是SessionFactory?SessionFactory提供Session的实例。它是Session的工厂。它持有二级缓存的数据,该缓存默认未启用。 更多详情...16) SessionFactory是线程安全的吗?是的,SessionFactory是线程安全的。多个线程不能同时访问它。 17) 什么是Session?它维护Hibernate应用程序和数据库之间的连接。 它提供了从数据库存储、更新、删除或获取数据的方法,例如persist()、update()、delete()、load()、get()等。 它是Query、Criteria和Transaction的工厂,即它提供工厂方法来返回这些实例。 更多详情...18) Session是线程安全的吗?不,Session不是线程安全的。多个线程可以同时访问它。换句话说,你可以在线程之间共享它。 19) session.save()和session.persist()方法有什么区别?
20) get和load方法有什么区别?get()和load()方法之间的区别如下。
21) update和merge方法有什么区别?update()和merge()方法之间的区别如下。
让我们通过下面的例子来理解这个区别 关闭session1后,e1处于分离状态。它不会在session1缓存中。因此,如果调用update()方法,它将抛出错误。 然后,我们打开另一个Session并加载相同的Employee实例。如果在session2中调用merge,e1的更改将合并到e2中。 22) Hibernate中的对象有哪些状态?Hibernate中的对象(实例)有3种状态。
23) 有哪些继承映射策略?Hibernate中有3种继承映射方式。
24) 如何在Hibernate中创建不可变类?如果将类标记为mutable="false",则该类将被视为不可变类。默认情况下,它是mutable="true"。 25) 什么是Hibernate中的自动脏检查?Hibernate的自动脏检查功能会在事务中修改过的对象上自动调用update语句。 让我们通过下面的例子来理解它 在这里,在获取employee实例e1后,我们正在更改e1的状态。 更改状态后,我们提交事务。在这种情况下,状态将自动更新。这就是Hibernate中的脏检查。 26) Hibernate中可以实现多少种关联映射?Hibernate可以实现4种类型的关联映射。
27) 可以使用一对一和多对一进行集合映射吗?不,集合映射只能与一对多和多对多进行。 28) 什么是Hibernate中的懒加载?Hibernate中的懒加载通过按需加载子对象来提高性能。 自Hibernate 3起,默认启用懒加载,您无需设置lazy="true"。这意味着在加载父对象时不要加载子对象。 29) 什么是HQL(Hibernate查询语言)?Hibernate查询语言被称为面向对象的查询语言。它类似于结构化查询语言(SQL)。 HQL相对于SQL的主要优点是
30) 一级缓存和二级缓存有什么区别?
|
我们请求您订阅我们的新闻通讯以获取最新更新。