`
famoushz
  • 浏览: 2951061 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate interview question

阅读更多

guys, when you take interview, have you ever answered below hibernate question ??

 

1.How to call stored procedure in mysql through hibernate

2.what is lazy initialisation in hibernate

 

 

 

 

1.answer:

As per sql-->

create a procedure in your sql by using the following code.
create or replace procedure first-procedure(x in number,y out number)
begin
y:=x*x;
end;
 write your sql connection code in hibernate configuration file. In your hibernate client application get the session obj. On the session object call the connection() method and get the connection. 
ex: Connection con=session.connection();
      CallableStatement cst=con.prepareCall("{call first-procedure(?,?)}");
      cst.registerOutParameter(2,Types.Integer);
      cst.setInt(1,20);
      cst.execute();
      int res=cst.getInt(2);
     s.o.p(res);
     ses.close();
2.answer:
Hibernate supports the feature of lazy initilasation for both entities and collections. What this actually means is, the Hibernate engine loads only those objects that we are querying for and doesnt try to fetch other entities(that are associated with the entity we are querying) or collections.
   
  An attribute 'lazy' can be used to let Hibernate know if the associated entity or collection has to be lazily loaded or prefetched.

Ex:
  

<set name="Children" lazy="false" inverse="true">

  <key column="FK_COL"/>

  <one-to-many class="Parent"/>

</set>

   This causes the collection to be eagerly fetched rather than doing a lazy fetch.  If on the other hand , the attribute value of lazy is set to true, then hibernate will not make an attempt to fire the query for fetching the collection object until the request is made by the user.

3.What is Hibernate proxy?
4.What is the difference between hibernate and spring JDBC template? List any advantages and disadvantages

 

 

3.answer

Proxies are created dynamically by subclassing your object at runtime. The subclass has all the methods of the parent, and when any of the methods are accessed, the proxy loads up the real object from the DB and calls the method for you. Very nice in simple cases with no object hierarchy. Typecasting and instanceof work perfectly on the proxy in this case since it is a direct subclass. 

 

4.answer:

Spring provides hibernate template and it has many advantages like
1) It removes boiler plate code like getting connection from data source, try/catch block for closing connection. So that developer can focus on writing business logic rather then writing boilier plate code every where.

2) Spring hibernateTemplate also throws RunTime exception compared to checkd exception which allows to remove writing try/catch block in each DAO.

3) It also gives richer template class, using which developer can write query code easily. This template class also allows to get session explicitly, so if developer wants to get session object and work on it, then it's possible.

分享到:
评论

相关推荐

    hibernate question 2

    hibernate question version 2

    Hibernate 配置各种数据库

    Hibernate 配置各种数据库 Hibernate 是一个基于 Java 的持久层框架,提供了一个抽象的数据访问层,能够与多种数据库进行集成。在 Hibernate 的配置文件中,我们可以配置不同的数据库连接,包括驱动程序、URL 等...

    Hibernate入门到精通

    "Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...

    hibernate jar包:hibernate-commons-annotations-4.0.1.Final.jar等

    Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...

    hibernate3.zip 包含hibernate3.jar

    Hibernate3 是一个非常重要的Java持久化框架,它简化了数据库操作,使得开发人员可以更加专注于业务逻辑而不是数据库的细节。这个`hibernate3.zip`压缩包包含了`hibernate3.jar`,它是Hibernate 3版本的核心库,包含...

    Beginning Hibernate: For Hibernate 5

    ### 关于《Beginning Hibernate: For Hibernate 5》的知识点总结 #### Hibernate 5 概述 - **定义**: Hibernate 是一款流行的开源对象关系映射(ORM)框架,它简化了数据库与 Java 对象之间的交互过程。 - **版本**...

    kingbaseV8 hibernate jdbc 驱动

    在Java开发环境中,与KingbaseV8数据库进行交互通常会用到Hibernate框架和JDBC驱动。 Hibernate是一个优秀的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作,通过将Java对象与数据库表进行映射,...

    Hibernate-extensions 完整安装包

    《Hibernate-Extensions全面指南》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作。然而,为了满足更复杂的业务需求,Hibernate还提供了丰富的扩展功能,这就是我们今天要...

    hibernate和MySQL的jar

    标题中的“hibernate和MySQL的jar”指的是Hibernate ORM框架与MySQL数据库之间的连接库。Hibernate是一种流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL...

    hibernate 5.2.15

    hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15hibernate 5.2.15

    hibernate3全部jar包:hibernate3.jar.zip 下载

    Hibernate3 是一个强大的Java持久化框架,它允许开发者将数据库操作与业务逻辑解耦,使得应用程序的开发更为简便。这个“hibernate3全部jar包:hibernate3.jar.zip”包含了所有必要的库文件,方便用户一次性下载并...

    HibernateTools-3.2.4

    HibernateTools是Java开发人员在使用Hibernate ORM框架时的有力辅助工具集,主要目的是为了提高开发效率,简化数据库操作。在HibernateTools 3.2.4版本中,它包含了一系列的特性与插件,以支持更便捷地进行对象关系...

    hibernate-release-4.1.4

    【描述】中的"hibernate的jar包"指的是Hibernate框架的运行库文件,这些JAR文件包含了Hibernate的所有核心API、实现和依赖库,如Hibernate Commons Annotations、Hibernate EntityManager、Hibernate Core等。...

    hibernate3必要jar包

    Hibernate3 是一个非常重要的Java持久化框架,它允许开发者将对象模型与数据库关系模型进行映射,从而简化了数据存取的过程。这个压缩包“hibernate3必要jar包”显然是针对Hibernate3版本的,已经去除了冗余的库文件...

    Hibernate3的依赖包

    Hibernate3是一个广泛使用的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作,极大地简化了Java应用程序与数据库之间的交互。在这个"Hibernate3的依赖包"中,包含了运行Hibernate3应用...

    hibernate-extensions和Middlegen-Hibernate

    《hibernate-extensions与Middlegen-Hibernate:数据库到Java对象的自动化转换》 在Java的持久化层开发中,Hibernate作为一款强大的ORM(对象关系映射)框架,极大地简化了数据库操作。然而,手动编写实体类和映射...

    Hibernate 中文api 等学习资料

    标题"Hibernate 中文api 等学习资料"暗示了这是一组针对Hibernate ORM框架的中文学习资源,包括API文档和其他指南,旨在帮助用户更好地理解和使用Hibernate。 描述中的"hibernate orm框架api中文文档,学习资料,...

    hibernate5相关jar包

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了Java应用中的数据存取工作。本压缩包包含了与Hibernate 5相关的jar包,这些jar包是构建和运行基于...

    Hibernate入门jar包

    Hibernate是一款强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使开发者可以更加专注于业务逻辑而不是数据访问层的实现。本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之...

    hibernate-release-5.2.10

    Hibernate是Java平台上的一款开源对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作。在SSH(Spring、Struts、Hibernate)框架中,Hibernate作为持久层的解决方案,极大地简化了数据库操作的...

Global site tag (gtag.js) - Google Analytics