가장 많이 묻는 면접 질문과 답변 & 온라인 테스트
면접 준비, 온라인 테스트, 튜토리얼, 라이브 연습을 위한 학습 플랫폼

집중 학습 경로, 모의고사, 면접 준비 콘텐츠로 실력을 키우세요.

WithoutBook은 주제별 면접 질문, 온라인 연습 테스트, 튜토리얼, 비교 가이드를 하나의 반응형 학습 공간으로 제공합니다.

Prepare Interview

모의 시험

홈페이지로 설정

이 페이지 북마크

이메일 주소 구독

Hibernate 면접 질문과 답변

Test your skills through the online practice test: Hibernate Quiz Online Practice Test

관련 차이점

Ques 26. What is the difference between and merge and update?

Use update() if you are sure that the session does not contain an already persistent instance with the same identifier, and merge() if you want to merge your modifications at any time without consideration of the state of the session.

도움이 되었나요? Add Comment View Comments
 

Ques 27. How do you define sequence generated primary key in hibernate?

Using <generator> tag.
Example:-
<id column="USER_ID" name="id" type="java.lang.Long">
<generator class="sequence">
<param name="table">SEQUENCE_NAME</param>
<generator>
</id>

도움이 되었나요? Add Comment View Comments
 

Ques 28. Define cascade and inverse option in one-many mapping?

cascade enable operations to cascade to child entities.
cascade="all|none|save-update|delete|all-delete-orphan"
inverse mark this collection as the "inverse" end of a bidirectional association. inverse="true|false" Essentially "inverse" indicates which end of a relationship should be ignored, so when persisting a parent who has a collection of children, should you ask the parent for its list of children, or ask the children who the parents are?

도움이 되었나요? Add Comment View Comments
 

Ques 29. What does it mean to be inverse?

It informs hibernate to ignore that end of the relationship. If the one-to-many was marked as inverse, hibernate would create a child->parent relationship (child.getParent). If the one-to-many was marked as non-inverse then a child->parent relationship would be created.


In Hibernate, only the relationship owner should maintain the relationship, and the inverse keyword is created to defines which side is the owner to maintain the relationship. However the inverse keyword itself is not verbose enough, I would suggest change the keyword to relationship_owner.

In short, inverse=true means this is the relationship owner, and inverse=false (default) means its not.

Suppose Stock is parent and StockDailyRecords is Child object.

Inverse keyword is applied in one to many relationship. Heres the question, if save or update operation perform in Stock object, should it update the stockDailyRecords relationship?

1. inverse=true
If inverse=true in the set variable, it means stock_daily_record is the relationship owner, so Stock will NOT UPDATE the relationship.

2. inverse=false
If inverse=false (default) in the set variable, it means stock is the relationship owner, and Stock will UPDATE the relationship.

If keyword inverse is not define, the inverse = false will be used, which is

도움이 되었나요? Add Comment View Comments
 

Ques 30. What do you mean by Named - SQL query?

Named SQL queries are defined in the mapping xml document and called wherever required.
Example:
<sql-query name = "empdetails">
<return alias="emp" class="com.test.Employee"/>
SELECT emp.EMP_ID AS {emp.empid}, emp.EMP_ADDRESS AS {emp.address}, emp.EMP_NAME AS {emp.name} FROM Employee EMP WHERE emp.NAME LIKE :name
</sql-query>

Invoke Named Query :
List people = session.getNamedQuery("empdetails") .setString("TomBrady", name) .setMaxResults(50) .list();

도움이 되었나요? Add Comment View Comments
 

Most helpful rated by users:

Copyright © 2026, WithoutBook.
JDBC vs HibernateJPA vs HibernateHibernate 3 vs Hibernate 4