What are the differences between get and load methods in hibernate?

1 post / 0 new
jjadmin
What are the differences between get and load methods in hibernate?

What are the differences between get and load methods in hibernate? This is a common interview question also. 

I will share few points here and please feel free to add more points if you have.

 

Answer

Both get and load methods can be used to select data from a database through hibernate. Invocation is also very similar. Please refer to http://javajee.com/crud-operations-in-hibernate-43 for an example for get.

Below are few of the differences:

Get immediately hit the database, fill your object with the data and return that object to you. It can be considered as an eager fetch. So you can close the session after the invocation and still use the retrieved object to access the elements. Load does not hit the database immediately and return you only a proxy object. A proxy object is another object that can be assigned to your reference will have some additional functionality added. In case of load method, the database hit will be made only once you try to access the members of the object. Therefore if you close the session after the invocation and try to use the retrieved object object, you will get an exception that the session is not available.

Second difference is that get will return a null object in case data is not available in database for that table, load will throw an exception is data is not available in database for that table.

 

Please add more more points if you have. Try this out and comment with the exact exception you will get if you try the negative cases mentioned here.

Was it useful?

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) ArrayLists (1) Arrays (2) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (53) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (8) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (12) Java Programmer 2 (8) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) resources (1) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)