首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hibernate面试题大全

对象还没有被持久【没有保存在数据库中】 不受Session的管理 ?...这里写图片描述 持久状态 当保存在数据库中的对象就是持久状态了 当调用session的save/saveOrUpdate/get/load/list等方法的时候,对象就是持久状态 在数据库有对应的数据...都支持哪些缓存策略 hibernate支持哪些缓存策略 usage的属性有4种: 放入二级缓存的对象,只读(Read-only); 非严格的读写(Nonstrict read/write) 读写; 放入二级缓存的对象可以读...所以它会立即执行Sql insert 使用 save() 方法保存持久对象时,该方法返回该持久对象的标识属性值(即对应记录的主键值); 使用 persist() 方法来保存持久对象时,该方法没有任何返回值...因为Hibernate会使用代理模式在延迟关联的情况下提高性能,如果你把实体类定义成final类之后,因为 Java不允许对final类进行扩展,所以Hibernate无法再使用代理了,如此一来就限制了使用可以提升性能的手段

2K50

JAVA面试锦囊(七)

(2) 控制器实例:理论上,spring mvc会比struts2快一些,spring mvc是基于方法设计,而struts2是基于对象,每次发一次请求都会实例一个action。...不同点: (1) hibernate要比Mybatis功能强大很多,因为hibernate自动生成sql语句。 (2) Mybatis要比hibernate简单多,Mybatis是面向sql的。...不用考虑对象间一些复杂的映射关系。 (3) 由于Mybatis需要我们在xml配置文件中写sql,hibernate我们无法直接控制语句。我们就无法去写特定的高效sql或复杂sql语句。...瞬时状态:刚刚new出来,没有被持久,没有id。(不处于session中,该对象就是临时对象)。 持久状态/托管状态:已经被持久,加入到session的缓存中,该状态的对象持久 对象。...游离状态:已经被持久,但没有处于session中,该状态的对象为游离对象。 删除状态:对象有关联的ID,并且在session管理下,但是已经被计划删除。

36020
您找到你想要的搜索结果了吗?
是的
没有找到

Java面试题| 框架篇

临时状态:刚刚使用new语句创建,还没有被持久,不处于Session的缓存中。处于临时状态的状态的Java对象被称为临时对象持久状态:已经被持久,加入到Session的缓存中。...处于持久状态的Java对象被称为持久对象。 游离状态/托管状态:已经被持久,但不处于session的缓存中。处于游离状态的Java对象被称为游离对象。...4)、支持透明持久因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。 11:谈谈你对Hibernate的理解。...2.为了在关机和内存空间不够的状况下,保持程序的运行状态,需要将内存中的对象状态保存到持久设备和从持久设备中恢复出对象的状态,通常都是保存到关系数据库来保存大量对象信息。...因为事务管理器是配置在spring容器中的,如果将事务配置在Controller层的话,spring容器就访问不了springmvc子容器,进而无法访问到事务对象

1.1K30

知识汇总(三)

数据查询时,没有 OID 指定的对象,get()返回 null;load()返回一个代理对象。 load()支持延迟加载;get()不支持延迟加载。 121.说一下 hibernate 的缓存机制?...122.hibernate 对象有哪些状态? 临时/瞬时状态:直接 new 出来的对象,该对象还没被持久(没保存在数据库中),不受 Session 管理。...持久状态:当调用 Session 的 save/saveOrupdate/get/load/list 等方法的时候,对象就是持久状态。 游离状态:Session 关闭之后对象就是游离状态。...消息推送投递模式必须设置持久,deliveryMode 设置为 2(持久)。 消息已经到达持久交换器。 消息已经到达持久队列。 以上四个条件都满足才能保证消息持久化成功。...143.rabbitmq 持久有什么缺点? 持久的缺地就是降低了服务器的吞吐量,因为使用的是磁盘而非内存存储,从而降低了吞吐量。可尽量使用 ssd 硬盘来缓解吞吐量的问题。

1K50

Java程序员面试题集(86-115)

merge方法可以完成save()和update()方法的功能,它的意图是将新的状态合并到已有的持久对象上或创建新的持久对象。...持久状态:持久对象的实例在数据库中有对应的记录,并拥有一个持久标识。...对持久对象进行delete操作后,数据库中对应的记录将被删除,那么持久对象与数据库记录不再存在对应关系,持久对象变成临时状态。持久对象被修改变更后,不会马上同步到数据库,直到数据库事务提交。...游离状态:当Session进行了close、clear或者evict后,持久对象虽然拥有持久标识符和与数据库对应记录一致的值,但是因为会话已经消失,对象不在持久管理之内,所以处于游离状态(也叫脱管状态...游离状态的对象与临时状态对象是十分相似的,只是它还含有持久标识。 111、如何理解Hibernate的延迟加载机制。在实际应用中,延迟加载与session关闭的矛盾是如何处理的?

1.8K70

“金三银四”招聘期又要到了,快来复习JAVA题!!

POST请求不会因为地址长度限制而导致传输数据限制。 3、安全性,POST的安全性要比GET的安全性高。由于数据是会在地址中呈现,所以可以通过历史记录找到密码等关键信息。...简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久到关系数据库中。那么,到底如何实现持久呢?...因为hibernate自动生成sql语句。    2、ibatis需要我们自己在xml配置文件中写sql语句,hibernate我们无法直接控制该语句,我们就无法去写特定的高效率的sql。...2.5.14 Hibernate映射对象的状态 临时状态/瞬时状态(transient):刚刚用new语句创建,没有被持久 不处于session中(没有使用session的方法去操作临时对象)。...该对象成为临时对象 持久状态/托管状态(persistent):已经被持久,加入到session的缓存中。session是没有关闭该状态的对象持久对象

2.8K130

Hibernate的搭建

1 Hibernate概述        Hibernate是Java世界中使用最广泛的数据持久框架,使用ORM(对象关系映射)模式简化关系型数据库的的数据增删改查功能。...1.1 数据持久 数据持久就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。...Session:代表Hibernate与数据库之间的一次回话,维护数据连接和一级缓存,该对象不是线程安全的,应该每次使用前创建用完关闭,建议保存在方法请求级别。...中持久对象的三种状态        在Hibernate框架中的持久对象有三种状态:瞬时状态(临时状态)、持久状态、游离状态。...处于游离状态的对象,Session无法保证对象所包含的数据与数据库中的记录一直,因为Hibernate已经无法感知对该对象的任何操作。

51010

详说SSH框架和SSM框架搭建以及两者之间不一样之处

负责持久层....,就是一个普通的类) 5.配置视图解析器 SpringMVC 的实现原理: SSM 则指的是 SpringMVC 做控制器(controller),Spring 管理各层的组件,My Batis 负责持久层...对应,所以说从框架本 身上SpringMVC容易实现 restful 相对而言Struts2架构起来就比较费劲,因为Struts2中Action的一个方法 对应一个url而其类属性却被所有方法共享,这就无法用注解或其它标住其所属方法...SpringMVC的方法之间基本上是独立的,入口是servlet集成了AJAX和Spring无缝衔接,支持JSR303用的是 Aop拦截实现机制设计思想上Struts2更符合OOP编程思想,SpringMVC...总结 SSM和SSH不同主要在MVC实现方式,以及ORM持久方面不同(Hiibernate与Mybatis)。

27510

java面试总是通不过_读完这篇文章你有什么感受

get请求会被浏览器主动cache(缓存),而post不会,除非手动设置。 get请求只能进行url编码,而post支持多种编码方式。...hibernate核心接口 session:负责被持久对象CRUD操作 sessionFactory:负责初始hibernate,创建session对象 configuration:负责配置并启动hibernate...第二种回答: 临时/瞬时状态:直接 new 出来的对象,该对象还没被持久(没保存在数据库中),不受 Session 管理。...持久状态:当调用 Session 的 save/saveOrupdate/get/load/list 等方法的时候,对象就是持久状态。 游离状态:Session 关闭之后对象就是游离状态。...数据缓存功能 分布式锁的功能 支持数据持久 支持事务 支持消息队列 181.redis 和 memecache 有什么区别?

1.1K20

Java面试题及答案整理(2021最新版)

因为sleep() 是static静态的方法,他不能改变对象的机锁,当一个synchronized块中调用了sleep() 方法,线程虽然进入休眠,但是对象的机锁没有被释放,其他线程依然无法访问这个对象...GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方式。...Hibernate是一个基于JDBC的主流持久框架,是一个优秀的ORM实现。...143. rabbitmq 持久有什么缺点? 持久的缺地就是降低了服务器的吞吐量,因为使用的是磁盘而非内存存储,从而降低了吞吐量。可尽量使用 ssd 硬盘来缓解吞吐量的问题。...数据缓存功能 分布式锁的功能 支持数据持久 支持事务 支持消息队列 181. redis 和 memecache 有什么区别?

97630

hibernate和mybatis的区别及特点_hibernate配置文件中,不包含下面的

Spring Data JPA和MyBatis的持久接口都位于com.ramostear.hm.orm包下,Spring Data JPA的持久接口相对比较简单,之间继承JpaRepository类即可...,代码如下: 说明:因为JPA只负责写操作,所以直接继承并使用JpaRepository提供的API即可,不需要额外的定义其他的接口方法。...2-5、定义控制器 最后,提供一个控制器,用于处理客户端的相关请求。在控制器中,提供了三个请求处理方法,分别处理客户端新增用户、根据ID查询用户和查询所有用户的请求。...首先测试 POST http://localhost/users ,验证Hibernate是否能够成功将用户信息持久。...打开Postman工具,在地址栏输入http://localhost/users请求地址,请求方式选择POST,在Body栏输入如下的信息: { "username":"谭朝红", "alias

1.6K30

Spring,hibernate,struts的面试笔试题及答案

Hibernate是一个基于JDBC的主流持久框架,是一个优秀的ORM实现。...他很大程度的简化DAO层的编码工作 hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 hibernate的性能非常好,因为它是个轻量级框架。...()方法; -(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;...所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。...Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象

71330

《Spring实战》摘录 - 18

. authorizeRequests() .antMatchers("/spitter/me").hasRole("SPITTER") .antMatchers(httpMethod.POST....realmName("Spittr") .and() ...} 177 问题:#10.1.1-1 | JDBC过程中,可能导致抛出SQLException的常见问题包括: 回答: 应用程序无法连接数据库...回答: 模版, template,管理过程中固定的部分 回调, callback, 处理自定义的数据访问代码 179 问题:#10.1.2-2 | Spring提供的数据访问模板,分别适用于不同的持久机制...--- JCA CCI连接 jdbc.core.JdbcTemplate --- JDBC连接 jdbc.core.namedparam.NamedParameterJdbcTemplate --- 支持命名参数的...--- Java数据对象(Java Data Object)实现 orm.jpa.JpaTemplate --- Java持久API的实体管理器 180 问题:#10.2-1 | Spring提供了在

47320

大数据开发:你必须掌握的JAVA几大框架

对于开发人员来说的话,这里有一大优势是他们可以不受其他模块制约而只是专注于其中一个模块的,因为Spring 利用了控制反转(IoC)。...data-4151152_960_720.jpg 三、Hibernate框架 Hibernate它是一个开放源代码的映射框架,它对JDBC进行了轻量级的对象封装,它将POJO与数据库表建立了一种映射的关系...hibernate它是可以自动生成SQL语句,自动执行的,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。...其中最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久的重任。                    ...它提供了一种以组件为中心来开发 Java Web 用户界面的方法,用这样的方式去把开发进行简单

1.1K20

面试必备:2019年Java 最常见 200+ 面试题解析

85. get 和 post 请求有哪些区别? get 请求会被浏览器主动缓存,而 post 不会。 get 传递参数有大小限制,而 post 没有。...122. hibernate 对象有哪些状态? 临时/瞬时状态:直接 new 出来的对象,该对象还没被持久(没保存在数据库中),不受 Session 管理。...持久状态:当调用 Session 的 save/saveOrupdate/get/load/list 等方法的时候,对象就是持久状态。 游离状态:Session 关闭之后对象就是游离状态。...以上四个条件都满足才能保证消息持久化成功。 143. RabbitMQ 持久有什么缺点? 持久的缺地就是降低了服务器的吞吐量,因为使用的是磁盘而非内存存储,从而降低了吞吐量。...数据缓存功能 分布式锁的功能 支持数据持久 支持事务 支持消息队列 181. Redis 和 memcache 有什么区别?

47810

Mybatis01入门+使用和配置+面试题mybatis与hibernate的区别+ssm与ssh2开发对比

) 1.2 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。...3、提供映射标签,支持对象与数据库的orm字段关系映射 4、 提供对象关系映射标签,支持对象关系组建维护 5、提供xml标签,支持编写动态sql。...3、由于xml里标签id必须唯一,导致DAO中方法支持方法重载。 4、对象关系映射标签和字段映射标签仅仅是对映射关系的描述,具体实现仍然依赖于sql。...,程序员如何设计O/R映射,在性能和对象模型之间如何取得平衡,以及怎样用好Hibernate方面需要的经验和能力都很强才行 2、hibernate的sql很多都是自动生成的,无法直接维护sql;虽然有...而Spring-MVC则是针对于方法级别的请求的,也就是一个方法对应于一个请求,属于方法拦截,请求的数据方法不共享。

29920

ssh工作原理

Hibernate是一个基于JDBC的主流持久框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。...4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2. Hibernate是如何延迟加载? 1....因为load后会在hibernate的一级缓存里存放一个map对象,该map的key就是userId的值,但是当你getId()时,它会去一级缓存里拿map的key值,而不去执行数据库查询。...所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。...Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象

92830

Java面试题

85. get 和 post 请求有哪些区别? get 请求会被浏览器主动缓存,而 post 不会。 get 传递参数有大小限制,而 post 没有。...122. hibernate 对象有哪些状态? 临时/瞬时状态:直接 new 出来的对象,该对象还没被持久(没保存在数据库中),不受 Session 管理。...持久状态:当调用 Session 的 save/saveOrupdate/get/load/list 等方法的时候,对象就是持久状态。 游离状态:Session 关闭之后对象就是游离状态。...以上四个条件都满足才能保证消息持久化成功。 143. RabbitMQ 持久有什么缺点? 持久的缺地就是降低了服务器的吞吐量,因为使用的是磁盘而非内存存储,从而降低了吞吐量。...数据缓存功能 分布式锁的功能 支持数据持久 支持事务 支持消息队列 181. Redis 和 memcache 有什么区别?

51741
领券