Retrieving Objects in Hibernate using session.get

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<p>We&&num;8217&semi;ll look at one of the several ways we can fetch data from the database using Hibernate&colon; the <b>session&period;get<&sol;b> method&period;<&sol;p>&NewLine;<p>Now look following example&&num;8230&semi;<&sol;p>&NewLine;<div id&equals;"ads-id" align&equals;"center"><&sol;div>&NewLine;<p><b>UserDetails&period;java<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">&NewLine;<p>package com&period;sdnext&period;hibernate&period;tutorial&period;dto&semi;<&sol;p>&NewLine;<p>import javax&period;persistence&period;Column&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Entity&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Id&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Table&semi;<&sol;p>&NewLine;<p>&commat;Entity<br &sol;>&NewLine;&commat;Table &lpar;name&equals;&&num;8221&semi;USER&lowbar;TABLE&&num;8221&semi;&rpar;<br &sol;>&NewLine;public class UserDetails<br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;&commat;Id<br &sol;>&NewLine;&commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi;&rpar;<br &sol;>&NewLine;private int    userId&semi;<&sol;p>&NewLine;<p>&commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;NAME&&num;8221&semi;&rpar;<br &sol;>&NewLine;private String userName&semi;<&sol;p>&NewLine;<p>public void setUserId&lpar;int userId&rpar; &lbrace;<br &sol;>&NewLine;this&period;userId &equals; userId&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public String getUserName&lpar;&rpar; &lbrace;<br &sol;>&NewLine;return userName&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public void setUserName&lpar;String userName&rpar; &lbrace;<br &sol;>&NewLine;this&period;userName &equals; userName&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public String toString&lpar;&rpar;<br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;return &&num;8220&semi;&lbrack;User Name&colon; &&num;8220&semi;&plus;userName&plus;&&num;8221&semi;User Id&colon; &&num;8220&semi;&plus;userId&plus;&&num;8221&semi;&rsqb;&&num;8221&semi;&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;&rcub;<&sol;p>&NewLine;<&sol;div>&NewLine;<p>This is user domain persistence class <b>UserDetails<&sol;b> to store data into table <b>USER&lowbar;TABLE<&sol;b> with columns name USER&lowbar;ID and USER&lowbar;NAME corresponding persisting field userId and userName respectively&period;<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;f2f9fc&semi; border&colon; 1px solid &num;c9e6f2&semi; border-radius&colon; 3px&semi; padding&colon; 16px&semi; line-height&colon; 1&period;45&semi;"><span style&equals;"color&colon; red&semi; font-size&colon; x-large&semi; text-align&colon; center&semi;"><b>Popular Tutorials<&sol;b><&sol;span><&sol;p>&NewLine;<ul style&equals;"text-align&colon; left&semi;">&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-tutorial&sol;"><em><strong>Spring Tutorial<&sol;strong> <&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-web-mvc-framework-chapter-38&sol;"><strong><em>Spring MVC Web Tutorial <&sol;em><&sol;strong><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-spring-boot-a-spring-boot-complete-guide&sol;"><strong>Spring Boot Tutorial<&sol;strong> <&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-security-take-baby-step-to-secure&sol;"><em>Spring Security Tutorial<&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-aop-tutorial-with-example-aspect-advice-pointcut-joinpoint&sol;"><em>Spring AOP Tutorial<&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;using-spring-jdbc-framework-chapter-32&sol;"><em>Spring JDBC Tutorial<&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-hateoas-hypermedia-driven-restful-web-service&sol;"><em><strong>Spring HATEOAS <&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;microservices-with-spring-boot&sol;"><em><strong>Microservices with Spring Boot<&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;jax-rs-web-service-tutorial&sol;"><strong><em>REST Webservice<&sol;em> <&sol;strong><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;core-java-baby-step-to-be-best-java-ian&sol;"><em><strong>Core Java <&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;hibernate-3-on-baby-steps&sol;"><em><strong>Hibernate Tutorial<&sol;strong><&sol;em><&sol;a><&sol;b><&sol;li>&NewLine;<li><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-batch-process-with-example&sol;"><strong><em>Spring Batch<&sol;em> <&sol;strong><&sol;a><&sol;b><&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<p>Now we have to configure hibernate configuration file&period;<&sol;p>&NewLine;<p><b>hibernate&period;cfg&period;xml<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">&NewLine;<p>&lt&semi;&quest;xml version&equals;&&num;8221&semi;1&period;0&&num;8243&semi; encoding&equals;&&num;8221&semi;UTF-8&&num;8243&semi;&quest;&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&excl;DOCTYPE hibernate-configuration PUBLIC<br &sol;>&NewLine;&&num;8220&semi;-&sol;&sol;Hibernate&sol;Hibernate Configuration DTD 3&period;0&sol;&sol;EN&&num;8221&semi;<br &sol;>&NewLine;&&num;8220&semi;http&colon;&sol;&sol;hibernate&period;sourceforge&period;net&sol;hibernate-configuration-3&period;0&period;dtd&&num;8221&semi;&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;hibernate-configuration&gt&semi;<br &sol;>&NewLine;&lt&semi;session-factory&gt&semi;<br &sol;>&NewLine;&lt&semi;&excl;&&num;8211&semi; Database connection settings &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;connection&period;driver&lowbar;class&&num;8221&semi;&gt&semi;com&period;mysql&period;jdbc&period;Driver&lt&semi;&sol;property&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;connection&period;url&&num;8221&semi;&gt&semi;jdbc&colon;mysql&colon;&sol;&sol;localhost&colon;3306&sol;hibernateDB&lt&semi;&sol;property&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;connection&period;username&&num;8221&semi;&gt&semi;root&lt&semi;&sol;property&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;connection&period;password&&num;8221&semi;&gt&semi;root&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&excl;&&num;8211&semi; JDBC connection pool &lpar;use the built-in&rpar; &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;connection&period;pool&lowbar;size&&num;8221&semi;&gt&semi;1&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&excl;&&num;8211&semi; SQL dialect &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;dialect&&num;8221&semi;&gt&semi;org&period;hibernate&period;dialect&period;MySQLDialect&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&excl;&&num;8211&semi; Enable Hibernate&&num;8217&semi;s automatic session context management &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;current&lowbar;session&lowbar;context&lowbar;class&&num;8221&semi;&gt&semi;thread&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&excl;&&num;8211&semi; Disable the second-level cache &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;cache&period;provider&lowbar;class&&num;8221&semi;&gt&semi;org&period;hibernate&period;cache&period;NoCacheProvider&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&excl;&&num;8211&semi; Echo all executed SQL to stdout &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;show&lowbar;sql&&num;8221&semi;&gt&semi;true&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&excl;&&num;8211&semi; Drop and re-create the database schema on startup &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;hbm2ddl&period;auto&&num;8221&semi;&gt&semi;update&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;mapping class&equals;&&num;8221&semi;com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;UserDetails&&num;8221&semi;&sol;&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;&sol;session-factory&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;hibernate-configuration&gt&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;<p>here we are using MySql database <b>hibernateDB&period; <&sol;b>Now we running the code with following class file<br &sol;>&NewLine;<b>HibernateTestDemo&period;java<&sol;b><br &sol;>&NewLine;<b><br &sol;>&NewLine;<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">&NewLine;<p>package com&period;sdnext&period;hibernate&period;tutorial&semi;<&sol;p>&NewLine;<p>import org&period;hibernate&period;Session&semi;<br &sol;>&NewLine;import org&period;hibernate&period;SessionFactory&semi;<br &sol;>&NewLine;import org&period;hibernate&period;cfg&period;AnnotationConfiguration&semi;<&sol;p>&NewLine;<p>import com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;UserDetails&semi;<&sol;p>&NewLine;<p>public class HibernateTestDemo &lbrace;<br &sol;>&NewLine;&sol;&ast;&ast;<br &sol;>&NewLine;&ast; &commat;param args<br &sol;>&NewLine;&ast;&sol;<br &sol;>&NewLine;public static void main&lpar;String&lbrack;&rsqb; args&rpar;<br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;UserDetails user &equals; new UserDetails&lpar;&rpar;&semi; <b style&equals;"color&colon; red&semi;">&sol;&sol;Creating first user<&sol;b><br &sol;>&NewLine;user&period;setUserId&lpar;1&rpar;&semi;<br &sol;>&NewLine;user&period;setUserName&lpar;&&num;8220&semi;Dinesh Rajput&&num;8221&semi;&rpar;&semi;<&sol;p>&NewLine;<p>UserDetails user2 &equals; new UserDetails&lpar;&rpar;&semi;<b style&equals;"color&colon; red&semi;">&sol;&sol;Creating second user<&sol;b><br &sol;>&NewLine;user2&period;setUserId&lpar;2&rpar;&semi;<br &sol;>&NewLine;user2&period;setUserName&lpar;&&num;8220&semi;Anamika Rajput&&num;8221&semi;&rpar;&semi;<&sol;p>&NewLine;<p>SessionFactory sessionFactory &equals; new AnnotationConfiguration&lpar;&rpar;&period;configure&lpar;&rpar;&period;buildSessionFactory&lpar;&rpar;&semi; <b style&equals;"color&colon; red&semi;">&sol;&sol;Creating a session factory object<&sol;b><br &sol;>&NewLine;Session session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi; <b style&equals;"color&colon; red&semi;">&sol;&sol;Creating a session object for inserting users  object to the database table USER&lowbar;TABLE<&sol;b><br &sol;>&NewLine;session&period;beginTransaction&lpar;&rpar;&semi; <b style&equals;"color&colon; red&semi;">&sol;&sol;Open the transaction of session object to do something<&sol;b><&sol;p>&NewLine;<p>session&period;save&lpar;user&rpar;&semi; <b>&sol;&sol;Inserting or Saving the first user object<&sol;b>        session&period;save&lpar;user2&rpar;&semi; <b style&equals;"color&colon; red&semi;"> &sol;&sol;Inserting or Saving the second user object<&sol;b><&sol;p>&NewLine;<p>session&period;getTransaction&lpar;&rpar;&period;commit&lpar;&rpar;&semi;<b style&equals;"color&colon; red&semi;">&sol;&sol;Close the transaction of session object after to do something<&sol;b><br &sol;>&NewLine;session&period;close&lpar;&rpar;&semi; <b style&equals;"color&colon; red&semi;">&sol;&sol;Close the session object performing saving event to database<&sol;b><&sol;p>&NewLine;<p>user &equals; null&semi;  <b style&equals;"color&colon; red&semi;">&sol;&sol;Now getting a user object from database table from session object<&sol;b><br &sol;>&NewLine;session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi; <b style&equals;"color&colon; red&semi;">&sol;&sol;Creating a new session object for fetching user object<&sol;b><br &sol;>&NewLine;session&period;beginTransaction&lpar;&rpar;&semi;<b style&equals;"color&colon; red&semi;"> &sol;&sol;Again Open the transaction of the session object<&sol;b><&sol;p>&NewLine;<p>user &equals; &lpar;UserDetails&rpar; session&period;get&lpar;UserDetails&period;class&comma; 1&rpar;&semi; <b style&equals;"color&colon; red&semi;">&sol;&sol;we get user object from session object using method session&period;get&lpar;Class arg1&comma; Serializable arg2&rpar; here arg2 is primary key or id of the fetching object and arg1 is the what the model object we want to retrieve from database&period;<&sol;b><&sol;p>&NewLine;<p>System&period;out&period;println&lpar;user&rpar;&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;&rcub;<&sol;p>&NewLine;<&sol;div>&NewLine;<p>Here after running this code we get following output&&num;8230&semi;<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">log4j&colon;WARN No appenders could be found for logger &lpar;org&period;hibernate&period;cfg&period;annotations&period;Version&rpar;&period;<br &sol;>&NewLine;log4j&colon;WARN Please initialize the log4j system properly&period;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;TABLE &lpar;USER&lowbar;NAME&comma; USER&lowbar;ID&rpar; values &lpar;&quest;&comma; &quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;TABLE &lpar;USER&lowbar;NAME&comma; USER&lowbar;ID&rpar; values &lpar;&quest;&comma; &quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; select userdetail0&lowbar;&period;USER&lowbar;ID as USER1&lowbar;0&lowbar;0&lowbar;&comma; userdetail0&lowbar;&period;USER&lowbar;NAME as USER2&lowbar;0&lowbar;0&lowbar; from USER&lowbar;TABLE userdetail0&lowbar; where userdetail0&lowbar;&period;USER&lowbar;ID&equals;&quest;<br &sol;>&NewLine;<b>&lbrack;User Name&colon; Dinesh Rajput User Id&colon; 1&rsqb;<&sol;b><&sol;div>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><&sol;div>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;output2&period;png" border&equals;"0" &sol;><&sol;div>&NewLine;<p>In the <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-update-query&period;html">Next Chapter<&sol;a> we will see that how to work<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-update-query&period;html"> update query in hibernate<&sol;a>&period;<&sol;p>&NewLine;<p><b> &lt&semi;&lt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hbm2ddl-configuration-and-name&period;html">Previous Chapter 9<&sol;a>&lt&semi;&lt&semi;    &gt&semi;&gt&semi;N<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-update-query&period;html">ext Chapter11<&sol;a>&gt&semi;&gt&semi;<&sol;b><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;