`
wuyoubf
  • 浏览: 39298 次
  • 性别: Icon_minigender_1
  • 来自: 呼和浩特
社区版块
存档分类
最新评论

hibernate基础问题整理

阅读更多

1 inverse和cascade的区别?
inverse用在双向关联中。两对象的关联关系,由设置inverse=\"true\"的一方去维护。(一般在一对多中,在many的一方把inverse设置为true)。
cascade设置级联属性,在更新一个对象时候,是否级联更新与其相关的对象。

 

2 HQL查询,返回什么样的数据结构?
返回的是list。其中存放了object对象或者object[]数组。
查询整个对象,即\"from Object where ...\" 的形式,list中存放的是object.
查询对象的几个属性,即\"select o.id, o.name, o.birthday form Object where ...\"的形式,list中存放的是object[]数组。

 

3 在HQL的select子句中使用统计函数:

 

4 hibernate中数据加载方式由哪几种?
由立即加载,延迟加载,预先加载,批量加载等方式。
立即加载(Immedate Loading):加载一个对象,hibernate立即加载其关联对象。
延迟加载(Lazy Loading):加载一个对象,其关联对象并不立即加载,而是在要使用关联对象时,再加载该关联对象。
预先加载(Eager Loading):通过outer-join完成对关联数据的加载。
批量加载(Batch Loading):
<class name=\"TUser\" table=\"T_USER\" batch-size=\"5\"/>

 

5 hibernate中对象有哪几种状态?
临时态:new一个对象,和hibernate并无关联。
持久态:对象和hibernate的session有关联,并且处于session的有效期内。session.delete(object)使一个持久态对象进入临时态。
托管态:持久态的对象,在session关闭之后,就进入托管状态。和临时态对象不同,托管态对象在数据库中包含了相应主键的记录。

 

6 hibernate的session级的缓存,由SessionImpl类来实现,该类维护了一个Map数据类型。保存了与当前session相关联的对象及其状态。内部缓存通常由hibernate自动维护,我们也可通过以下方法手动干预: session.evict 删除session中某个指定对象。 session.clear 清空session内部缓存。

 

7 hibernate中,session和transaction的关系?
我们知道hibernate只是JDBC轻量级的封装,所以hibernate本身并不具备事务管理能力,在事务管理层,hibernate委托jdbc或jta来实现。
若采用jdbc的事务管理,transaction不能跨session. 事务周期限于session周期。
机制如下:


若采用JTA的事务管理,transation是能跨session的。 这时事务的生命周期由JTA container维护

 

8 hibernate中,什么是悲观锁定和乐观锁定?
悲观锁定依赖底层数据库提供的锁机制实现,在数据处理过程中,使数据库处于锁定状态。
乐观锁定往往通过检查数据版本或字段的变动来实现,并不锁定整个数据库。在性能上要大大优于悲观锁定。
悲观锁定语句:session.lock; Critera.setLockMode; Query.setLockMode;
乐观锁定通过配置文件中class的optimistic_lock=\"version\"来实现。

 

9 hibernate的配置文件中,元素property有个formula属性可指定一个sql表达式,该表达式可以引用表的字段,调用sql函数或者包含子查询语句。例如

再如:

<property name=\"ContentAbstract\" type=\"string\" size=\"300\" formula=\"select left(diaryConstent) from tb_diary t where t.diaryContent=id\" >

分享到:
评论

相关推荐

    Hibernate学习笔记整理

    Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...

    尚学堂hibernate学习笔记(原版整理)

    4. **Hibernate基础配置** 这是学习Hibernate的基础,包括设置hibernate.cfg.xml配置文件,定义实体类,以及在XML或注解中声明实体与表的映射关系。 5. **ID生成策略** Hibernate提供了多种ID生成策略,如AUTO、...

    Hibernate知识整理.doc

    【Hibernate 知识整理】 1- Hibernate 是什么? Hibernate 是一个流行的对象关系映射(ORM)框架,它允许 Java 开发者用面向对象的方式来处理数据库交互。Hibernate 自动处理 SQL 转换和数据库访问,使得开发人员...

    hibernate3入门

    - **2005年3月**:Hibernate 3 正式发布,相比前一版本有重大改变,这份文档将以之前Hibernate 2 的文档为基础,针对Hibernate 3 进行重新整理的工作,使用的版本为Hibernate 3.0。 #### 三、基础入门 **基础入门*...

    hibernate学习资料大合集

    这两份笔记可能由经验丰富的开发者整理,包含他们在学习和使用Hibernate过程中积累的实用技巧和常见问题解决方案。这些个人经验往往能提供独特的视角和实战经验,对于解决实际问题非常有价值。 通过这些资料的学习...

    springmvc+hibernate使用jar包集合

    为了方便起见,可以将这些jar包整理到一个压缩包中,便于下载和使用。在给出的文件名称列表中,"spring"可能指的是Spring框架的相关jar包,但具体还需查看压缩包内容以了解完整的依赖集合。 综上所述,Spring MVC和...

    springMVC3和Hibernate3整理笔记

    ### SpringMVC3与Hibernate3整合实践 #### 一、创建数据库表 在进行SpringMVC3与Hibernate3的整合之前,首先需要准备一个数据库表。...通过以上步骤,开发者可以快速搭建起一个基于这两个框架的应用程序基础架构。

    hibernate 3.2中文手册 中文文档

    - 分析双向关联的复杂性和挑战,特别是如何解决循环引用的问题。 - **1.3.6 使双向连起来** - 提供具体的代码示例和配置建议来实现双向关联。 - **1.4 第三部分-EventManagerweb应用程序** - **1.4.1 编写基本...

    马士兵hibernate_Jar包 全

    1. **hibernate-core.jar**:这是Hibernate的核心库,包含了持久化机制、查询语言(HQL)和对象关系映射的基础组件。 2. **hibernate-entitymanager.jar**:提供JPA(Java Persistence API)支持,使开发者可以使用...

    java springmvc4.0+hibernate4.1 jar架包

    总的来说,这个压缩包提供了构建基于Java SpringMVC 4.0和Hibernate 4.1应用的基础,帮助开发者快速搭建环境,减少手动配置和依赖管理的时间。在实际开发中,还需要结合Spring的配置文件(如 applicationContext.xml...

    hibernate官方入门教程 (转载)

    标题“hibernate官方入门教程 (转载)”表明这是一份关于Hibernate框架的基础教学资源,可能是从官方文档或者其他可靠来源整理而来的,适合初学者了解和学习Hibernate。 描述中提到的“NULL”意味着没有具体的描述...

    JavaWEB基础知识整理.rar_Java WEB 开发基础知识整理

    这份"JavaWEB基础知识整理.rar"压缩包提供了一份详细的Java Web开发基础教程,适合初学者和有一定经验的开发者进行复习和巩固。以下是对其中核心知识点的详细解读: 1. **Java Web概述** - Java Web开发主要涉及...

    开源框架:Hibernate Gossip v1.04

    关于Hibernate框架的相关知识 Hibernate 是“物件/关系对应”(Object/Relational Mapping)的解决方案,简写...Hibernate 2 时撰写的 文件 为基础,针对 Hibernate 3作重新整理的动作,所使用的版本为Hibernate 3.0。

    hibernate学习必用

    本资源包“hibernate学习必用”正是针对Hibernate的学习者精心整理的,包含了关键的组件和依赖,旨在帮助初学者快速入门并深入理解Hibernate的核心功能。 首先,我们来看看“hibernate annotations”。这部分内容...

    一个Spring MVC和Hibernate一起使用的个人暂存(2)

    本项目是一个个人整理的Spring MVC与Hibernate整合应用的暂存版本,旨在帮助开发者理解和实践这两个框架的结合使用。通过添加缺失的包并进行配置,此项目可以实现与数据库的连接,查询数据。 首先,Spring MVC是...

    Hibernate_PDF_超好

    最后,"hibernate-config.txt"是Hibernate的配置文件,它是每个Hibernate应用的基础。在这个文件中,开发者可以设置数据库连接信息、事务管理器、缓存配置、实体类扫描路径等关键参数。正确配置这个文件是确保...

    夏昕-Hibernate+开发指南.pdf

    - **Hibernate基础语义**:包括Configuration、SessionFactory、Session等概念及其使用方法。 - **Hibernate高级特性**:涵盖了XDoclet与Hibernate映射、数据检索、HQL语言、数据关联等进阶主题。 - **数据访问**...

    Hibernate数据检索(HQL)笔记

    本文档基于魔乐科技李兴华老师的 Hibernate 教程笔记进行整理与扩展,主要介绍了 Hibernate 的数据检索方法,特别是 HQL(Hibernate Query Language)的使用技巧。 #### 二、HQL 基础 HQL 是一种面向对象的查询语言...

    Hibernate文档资料

    其次,`Hibernate学习笔记`可能是个人或社区在学习过程中整理的实用技巧和常见问题解答,这些笔记往往包含实践案例,能帮助读者快速解决实际开发中遇到的问题。例如,它们可能会讲解如何处理关联映射,如一对一、一...

    Hibernate4视频源码

    本资源包含了作者通过观看视频学习并整理的Hibernate4相关源码,旨在帮助初学者理解其内部机制和核心功能。 1. **对象关系映射(ORM)基础** Hibernate4 提供了ORM服务,允许开发者用面向对象的方式处理数据。它将...

Global site tag (gtag.js) - Google Analytics