`
wuyoubf
  • 浏览: 38154 次
  • 性别: 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 提供帮助. 这是第一篇, 内容如下: 了解基于B/S的三层架构; 了解持久化层-O/R Mapping ;理解Java持久化层技术Hibernate; ...

    Hibernate必备15个基础jar包

    Hibernate基础jar包15个,包括了JPA,已经都整理在这个文件夹里了,直接导入就能使用了。

    hibernate入门级教程,零基础哟

    文案整理而来。 其中的内容涉及Hibernate 的使用,以及一部分笔者实际咨询项目中的 经验积累,另一方面,大部分是笔者在Hibernate 的官方论坛中与众多 技术专家交流所得。 既来于斯,则归于斯。希望能聊有所用。 ...

    开源框架:Hibernate Gossip v1.04

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

    java 教程包含(hibernate struts Spring Servlet JDBC 基础)

    包含JDBC基础教程 JSP基础,jsp图片验证 Servlet spring入门,hibernate入门,struts入门, 两年技术积累的帮助文档,手工整理,涵盖主流开发框架,吐血奉献

    ssh-hibernate常用包.rar

    hibernate5学习基础导入jar包,包含c3p0,mysql连接池,最基础的jar包整合。自己学习过程中整理的包

    Java基础+Struts+Spring+Hibernate总结

    这个是我参加Java软件工程师培训后整理的总结,DOC格式,全是精华,花了不少心血整理的

    Java面试资料整理

    mind整理的Java面试资料,里面包括java基础、OOP、Web基础、数据库、常用的SQL语句、java的开发框架:Struts、Hibernate、Spring和Mybatis等

    韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)-共448页.docx

    Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)--&gt;ssh框架 java之父gosling 1990 sun启动 绿色计划 1992 创建oak语言--&gt;java 1994 gosling参加硅谷大会演示java功能,震惊世界 1995 sun正式发布java第一个版本,...

    Java从零基础到精通详细笔记

    本文档为详细笔记,Setup格式,共173页。包含内容: Unix,Java 基础,数据库(Oracle jdbc Hibernate pl/sql),web,JSP,Struts,Ajax,Spring,Ejb,Java和模式。另附学习视频链接地址,欢迎下载。

    JAVA面试题整理.pdf

    面试题集共分为以下十部分: ...五、 JDBC & Hibernate : 六、 Web : 七 、 EJB & Spring : 八、数据结构 & 算法 & 计算机基础: 九、 C++ : 十、 Weblogic 及其它 ( 附加部分 ) ……………… 面试比较全面的题集

    java基础笔记

    java基础笔记整理( Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, Ejb, java和模式 )

    Web 框架之 SSH 框架的简单搭建的整理(基于Eclipse,搭建演示完整工程,jar、代码 、html)

    其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。 ———————————————— ...

    各种文件整理

    java基础笔记 hibernate笔记 jquery笔记 Struts2笔记 SVN详解 WebSphere项目搭建 springMVC项目 linux命令大全 SOA架构 还有一些视频源码的下载链接 一份很全的文档 可以放到手机上看也不过(本人用有道云笔记放到...

    Java面试题集锦整理

    Java基础、Java容器相关问题、Java多线程相关、Java异常、网络、设计模式、反射、Spring全家桶、Hibernate和Mybatis、RabbitMQ、Kafka和Zk、Redis、Mysql、Jvm等相关知识的总结。

    java面试整理

    Java面试,Java基础,Spring,Hibernate,Struts,EJB,J2EE里面是问题很有用,挺全的

    持久层框架ibatis学习笔记

    总之,学习iBatis 是非常容易上手的,有过sql 和Hibernate 的基础,我跟着传智播客的视频 学了几个小时就掌握了iBatis 的核心操作。当然iBatis 还有一些更深层的原理与更强大的功 能,我没有去深思,学了iBatis 对...

    2019最新java面试题+答案整理.pdf

    包含Java 基础,容器,多线程,反射,对象拷贝,Java Web,异常,网络,设计模式,Spring/Spring MVC,Spring Boot/Spring Cloud,Hibernate,Mybatis,RabbitMQ,Kafka,Zookeeper,MySql,Redis,JVM等知识点208道...

    OpenID简介及与struts2_spring_hibernate框架集成

    由于URI 是整个网络世界的核心,它为基于URI的用户身份认证提供了广泛的、坚实的基础。 OpenID 系统的第一部分是身份验证,即如何通过 URI 来认证用户身份。目前的网站都是依靠用户名和密码来登录认证,这就意味着...

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

    分为十九个模块,分别是:「Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、...

Global site tag (gtag.js) - Google Analytics