引用
1.hibernate的事务提交后,是将数据直接持久化到数据库还是只是放在缓存里?
在一个事务中调用一个select语句,如果之前的已经有某个update语句做了数据修改,或是直接改变了对象的属性,则hibernate会在查询语句执行之前首先调用flush()将缓存中的数据同步到数据库,接着才返回查询数据。
2.以上表述是否正确?
3.如果正确,缓存中已经有最新的数据了,为什么还有做数据库同步这一步操作?
4.请问它同步的只是所查询的对象还是同步所有已经修改但没提交到数据库的数据还是其他?
参考答案:
引用
1,hibernate事务提交时会把缓存种数据同步到数据库,session关闭时会再次刷新,再做一次数据库同步
2,正确。除非显示声明只读事务。否则进行下次查询时要把当前session缓存的对象进行数据库同步 .
在一个事务中调用一个select语句,如果之前的已经有某个update语句做了数据修改,或是直接改变了对象的属性,则hibernate会在查询语句执行之前首先调用flush()将缓存中的数据同步到数据库,接着才返回查询数据!
3。可能是防止并发修改吧
4,同步当前session缓存的所有对象
分享到:
相关推荐
【hibernate面试题2】涉及了许多关于Hibernate框架的核心知识点,包括检索策略、SQL日志显示、缓存策略以及Hibernate与其他技术(如Spring和Struts)的整合。下面将逐一详细解析这些概念。 1. **Hibernate检索策略*...
【标题】与【描述】提及的是“Hibernate面试题专栏”,主要涵盖了全面的Hibernate面试题、笔试题以及相关问题,这表明我们将要讨论的是Java领域中著名的对象关系映射框架——Hibernate的相关知识。Hibernate是一个...
### 常见Hibernate面试题知识点详解 #### 1. Hibernate查询数据的方式 - **导航对象图查询**:这是最基本的查询方式之一,适用于查询对象之间的关联关系。通过已知对象来导航到其他对象,比如通过一个`User`对象...
Hibernate是Java领域中一款流行的持久...以上就是Hibernate面试中常见的问题和答案,涵盖了基本概念、缓存策略、查询方式以及事务和数据访问等方面的知识点。理解并掌握这些内容对于深入学习和使用Hibernate至关重要。
【Hibernate常见面试题汇总】 1. **数据库查询优化** - **建立索引**:索引可以大大提高查询速度,特别是针对频繁查询的列。 - **减少表间关联**:尽量减少JOIN操作,多表查询可能导致性能下降。 - **优化SQL**...
Hibernate 是一个流行的对象...以上就是关于Hibernate面试题的一些核心知识点,涵盖了Hibernate的基本概念、配置、操作以及优化等方面。了解并掌握这些内容,将有助于在面试中表现出对Hibernate深入的理解和实践经验。
### Hibernate面试题详解 #### 一、主键生成方式中的`native`与`identity`区别 **1.1 native方式** - **定义**: `native`是一种动态选择标识符生成策略的方式,它根据所使用的底层数据库系统自动选择最适合的生成...
【标题】:“尚硅谷_佟刚_Hibernate面试题分析” 【描述】提到的资源是针对Hibernate框架的一份面试题分析资料,由尚硅谷教育机构的讲师佟刚提供。该资源可能包含了对Hibernate在实际开发中常见问题的解答,以及...
Hibernate还提供了其他高级特性,如Caching(缓存),第二级缓存可以提升数据读取效率;Transaction管理,支持ACID特性;以及Criteria API,提供另一种构建查询的方式,无需编写HQL或SQL。 综上所述,Hibernate是...
这些知识点涵盖了常见的面试问题,可以帮助准备面试或深入理解Hibernate技术的人士更好地掌握该领域的内容。 ### Hibernate的检索方式 1. **导航对象图检索**:通过已加载的对象来访问与其关联的对象,这种检索...
- 缓存策略:一级缓存(Session级缓存)、二级缓存(SessionFactory级缓存)和查询缓存的使用和配置。 - 数据库连接池:如C3P0、DBCP等,提高数据库连接的复用性,降低系统开销。 - 批量操作:利用Hibernate的...
Hibernate 的缓存机制包括一级缓存(内部缓存)和二级缓存(应用缓存和分布式缓存)。一级缓存属于应用事务级缓存,二级缓存可以通过缓存服务器实现。 5. Hibernate 的查询方式 Hibernate 的查询方式包括 Sql、...
Hibernate的缓存分为一级缓存和二级缓存,其中一级缓存是应用级的事务级缓存,二级缓存则包括应用级缓存和分布式缓存,适用于数据不被第三方修改、更新频率低、同一数据频繁使用等场景。 ### Hibernate的查询方式 ...
以下是对SSH面试题中涉及的一些核心知识点的详细解释: 1. **Hibernate 工作原理** Hibernate 的工作流程主要包括: - 读取`hibernate.cfg.xml`配置文件,创建`Configuration`实例,加载类映射信息。 - `...
**StatelessSession** 是Hibernate中提供的另一种Session类型,与普通Session不同,它不具备一级缓存功能,也不参与二级缓存的操作,不会自动进行脏检查等操作。这意味着在使用StatelessSession时,开发者需要手动...
Hibernate支持一级缓存(Session级别)和二级缓存(SessionFactory级别),能够提高数据读取效率。可配置第三方缓存服务,如Ehcache,进一步优化性能。 8. **性能优化** 通过批处理(batch-size)、懒加载(lazy-...
本问题涉及的面试题主要集中在Hibernate的事务管理、缓存机制以及Session的使用上。以下是对可能出现问题的分析和解决方案的详细说明: 1. **事务管理**: 当用户注册并提交信息后,数据需要被持久化到数据库。在...
一、Hibernate面试题分析: 1. Hibernate是什么?它与JDBC有什么区别? Hibernate是一个对象关系映射(ORM)框架,它将数据库操作转化为对Java对象的操作,简化了数据访问。与JDBC相比,Hibernate提供了更高级别的...
在Java Web开发中,Struts、Spring和Hibernate是最常见的三大框架,它们...以上就是关于Struts、Spring和Hibernate面试题的详细解析,涵盖了这三大框架的关键概念和使用技巧,对于理解和解答相关面试问题非常有帮助。