hbm2ddl Configuration and Name Annotations in Hibernate

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;" trbidi&equals;"on">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;" trbidi&equals;"on">Here we will learn about hbm2ddl Configuration in the hibernate configuration file &lpar;hibernate&period;cfg&period;xml&rpar;&period; Actually hbm2ddl Configuration means hibernate mapping to create schema DDL &lpar;Data Definition Language&rpar;&period;<&sol;p>&NewLine;<div align&equals;'center' id&equals;"ads-id"><&sol;div>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; Drop and re-create the database schema on startup &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;property name&equals;&&num;8221&semi;hbm2ddl&period;auto&&num;8221&semi;&gt&semi;create&lt&semi;&sol;property&gt&semi;&nbsp&semi;<&sol;div>&NewLine;<p>&NewLine;Automatically validates or exports schema DDL to the database when the SessionFactory is created&period; With create-drop&comma; the database schema will be dropped when the SessionFactory is closed explicitly&period;<br &sol;>&NewLine;&nbsp&semi; <&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi;">&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;<br &sol;>&NewLine;&lt&semi;&excl;DOCTYPE hibernate-configuration PUBLIC<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &&num;8220&semi;-&sol;&sol;Hibernate&sol;Hibernate Configuration DTD 3&period;0&sol;&sol;EN&&num;8221&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &&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;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;session-factory&gt&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; Database connection settings &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &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;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &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;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;property name&equals;&&num;8221&semi;connection&period;username&&num;8221&semi;&gt&semi;username&lt&semi;&sol;property&gt&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;property name&equals;&&num;8221&semi;connection&period;password&&num;8221&semi;&gt&semi;password&lt&semi;&sol;property&gt&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &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; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; SQL dialect &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &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>&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; Enable Hibernate&&num;8217&semi;s automatic session context management &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&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; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; Disable the second-level cache &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &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>&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; Show all executed SQL to stdout &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;property name&equals;&&num;8221&semi;show&lowbar;sql&&num;8221&semi;&gt&semi;true&lt&semi;&sol;property&gt&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; Drop and re-create the database schema on startup &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;property name&equals;&&num;8221&semi;hbm2ddl&period;auto&&num;8221&semi;&gt&semi;create&lt&semi;&sol;property&gt&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&excl;&&num;8211&semi; Mapping files &&num;8211&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;mapping resource&equals;&&num;8221&semi;userdetails&period;hbm&period;xml&&num;8221&semi;&sol;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&sol;session-factory&gt&semi; <br &sol;>&NewLine;&nbsp&semi;&lt&semi;&sol;hibernate-configuration&gt&semi;<&sol;div>&NewLine;<&sol;div>&NewLine;<p>&NewLine;Here <b>&lt&semi;property name&equals;&&num;8221&semi;hbm2ddl&period;auto&&num;8221&semi;&gt&semi;create&lt&semi;&sol;property&gt&semi;<&sol;b> means schema DDL created every time when SessionFactory Object is created&period;<&sol;p>&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;">package com&period;sdnext&period;hibernate&period;tutorial&period;dto&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Entity&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Column&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Id&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Table&semi;<br &sol;>&NewLine;&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;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Id<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private int&nbsp&semi;&nbsp&semi;&nbsp&semi; userId&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;NAME&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String userName&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public int getUserId&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return userId&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setUserId&lpar;int userId&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;userId &equals; userId&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String getUserName&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return userName&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setUserName&lpar;String userName&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;userName &equals; userName&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<b> <&sol;b><&sol;div>&NewLine;<p>&NewLine;Now we run this example&&num;8211&semi;<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">public class HibernateTestDemo &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public static void main&lpar;String&lbrack;&rsqb; args&rpar; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lbrace;<br &sol;>&NewLine;<b>&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi; &sol;&sol;Create the model object <&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user1 &equals; new UserDetails&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user2 &equals; new UserDetails&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setUserId&lpar;1&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setUserName&lpar;&&num;8220&semi;Dinesh Rajput&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setUserId&lpar;2&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setUserName&lpar;&&num;8220&semi;Anamika Rajput&&num;8221&semi;&rpar;&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;<b>&nbsp&semi; &nbsp&semi; &nbsp&semi;&nbsp&semi; &sol;&sol; Create Session Factory Object&nbsp&semi; &&num;8211&semi; using annotation configuration object<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; SessionFactory sessionFactory &equals; new AnnotationConfiguration&lpar;&rpar;&period;configure&lpar;&rpar;&period;buildSessionFactory&lpar;&rpar;&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi; &nbsp&semi;<b> &nbsp&semi; &sol;&sol;Create Session object from session factory object<&sol;b><br &sol;>&NewLine;&nbsp&semi; &nbsp&semi; &nbsp&semi; &nbsp&semi; Session session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;beginTransaction&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi; &nbsp&semi;&nbsp&semi; &nbsp&semi; <b style&equals;"color&colon; blue&semi;">&sol;&sol;Use the session to save model objects<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user1&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user2&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;getTransaction&lpar;&rpar;&period;commit&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;close&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<&sol;p>&NewLine;<div style&equals;"color&colon; red&semi;"><b>Run this example&&num;8211&semi;<&sol;b><&sol;div>&NewLine;<p>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;DETAILS &lpar; USER&lowbar;ID&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;DETAILS &lpar; USER&lowbar;ID&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&rpar;<&sol;div>&NewLine;<p>&NewLine;Now we get following table structure&&num;8211&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;table&period;jpg" &sol;><&sol;div>&NewLine;<p>&NewLine;Again we running the following example-<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">public class HibernateTestDemo &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public static void main&lpar;String&lbrack;&rsqb; args&rpar; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lbrace;<br &sol;>&NewLine;<b>&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi; &sol;&sol;Create the model object <&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user1 &equals; new UserDetails&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user2 &equals; new UserDetails&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setUserId&lpar;3&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setUserName&lpar;&&num;8220&semi;Dev Rajput&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setUserId&lpar;4&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setUserName&lpar;&&num;8220&semi;Sweety Rajput&&num;8221&semi;&rpar;&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;<b>&nbsp&semi; &nbsp&semi; &nbsp&semi;&nbsp&semi; &sol;&sol; Create Session Factory Object&nbsp&semi; &&num;8211&semi; using annotation configuration object<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; SessionFactory sessionFactory &equals; new AnnotationConfiguration&lpar;&rpar;&period;configure&lpar;&rpar;&period;buildSessionFactory&lpar;&rpar;&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi; &nbsp&semi;<b> &nbsp&semi; &sol;&sol;Create Session object from session factory object<&sol;b><br &sol;>&NewLine;&nbsp&semi; &nbsp&semi; &nbsp&semi; &nbsp&semi; Session session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;beginTransaction&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi; &nbsp&semi;&nbsp&semi; &nbsp&semi; <b style&equals;"color&colon; blue&semi;">&sol;&sol;Use the session to save model objects<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user1&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user2&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;getTransaction&lpar;&rpar;&period;commit&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;close&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<&sol;p>&NewLine;<div style&equals;"color&colon; red&semi;"><b>Run this example&&num;8211&semi;<&sol;b><&sol;div>&NewLine;<p>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;DETAILS &lpar; USER&lowbar;ID&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;DETAILS &lpar; USER&lowbar;ID&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&rpar; <&sol;div>&NewLine;<p>&NewLine;Now we get the following table schema&&num;8211&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;table2&period;jpg" &sol;><&sol;div>&NewLine;<p>&NewLine;Here we see that the previous data is destroyed when we are using in the <b>hibernate&period;cfg&period;xml <&sol;b>file using the following line&period;<br &sol;>&NewLine;<b>&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;property name&equals;&&num;8221&semi;hbm2ddl&period;auto&&num;8221&semi;&gt&semi;create&lt&semi;&sol;property&gt&semi;&nbsp&semi;<&sol;b><br &sol;>&NewLine;<b>Here <&sol;b><br &sol;>&NewLine;hbm2ddl&period;auto&&num;8211&semi;&gt&semi;create -Always create new schema <br &sol;>&NewLine;hbm2ddl&period;auto&&num;8211&semi;&gt&semi;update -Update existing schema<br &sol;>&NewLine;Now we are replacing above line with the&nbsp&semi; <b> &lt&semi;property name&equals;&&num;8221&semi;hbm2ddl&period;auto&&num;8221&semi;&gt&semi;update&lt&semi;&sol;property&gt&semi;<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;">public class HibernateTestDemo &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public static void main&lpar;String&lbrack;&rsqb; args&rpar; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lbrace;<br &sol;>&NewLine;<b>&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi; &sol;&sol;Create the model object <&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user1 &equals; new UserDetails&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user2 &equals; new UserDetails&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setUserId&lpar;1&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setUserName&lpar;&&num;8220&semi;Dinesh Rajput&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setUserId&lpar;2&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setUserName&lpar;&&num;8220&semi;Anamika Rajput&&num;8221&semi;&rpar;&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;<b>&nbsp&semi; &nbsp&semi; &nbsp&semi;&nbsp&semi; &sol;&sol; Create Session Factory Object&nbsp&semi; &&num;8211&semi; using annotation configuration object<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; SessionFactory sessionFactory &equals; new AnnotationConfiguration&lpar;&rpar;&period;configure&lpar;&rpar;&period;buildSessionFactory&lpar;&rpar;&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi; &nbsp&semi;<b> &nbsp&semi; &sol;&sol;Create Session object from session factory object<&sol;b><br &sol;>&NewLine;&nbsp&semi; &nbsp&semi; &nbsp&semi; &nbsp&semi; Session session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;beginTransaction&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi; &nbsp&semi;&nbsp&semi; &nbsp&semi; <b style&equals;"color&colon; blue&semi;">&sol;&sol;Use the session to save model objects<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user1&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user2&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;getTransaction&lpar;&rpar;&period;commit&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;close&lpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<&sol;p>&NewLine;<div style&equals;"color&colon; red&semi;"><b>Run this example&&num;8211&semi;<&sol;b><&sol;div>&NewLine;<p>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;DETAILS &lpar; USER&lowbar;ID&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;DETAILS &lpar; USER&lowbar;ID&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&rpar;<&sol;div>&NewLine;<&sol;div>&NewLine;<p>&NewLine;Now we get the following table schema&&num;8230&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;table3&period;png" &sol;><&sol;div>&NewLine;<p>here we are looking the table USER&lowbar;DETAILS only updated not again created&period;<&sol;p>&NewLine;<p><b>Now in the <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;retrieving-objects-using-sessionget&period;html">Next Chapter<&sol;a> we will learn about <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;retrieving-objects-using-sessionget&period;html">how to retrieve an object from database&period;<&sol;a><&sol;b><&sol;p>&NewLine;<p> &nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;<b>&nbsp&semi;<&sol;b><b>&lt&semi;&lt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;using-annotations-vs-configuration&period;html">Previous Chapter 8<&sol;a>&lt&semi;&lt&semi; &nbsp&semi;&nbsp&semi; &gt&semi;&gt&semi;N<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;retrieving-objects-using-sessionget&period;html">ext Chapter10<&sol;a>&gt&semi;&gt&semi;<&sol;b><br &sol;>&NewLine;<b><br &sol;>&NewLine;<&sol;b> <b><br &sol;>&NewLine;<&sol;b> <b><br &sol;>&NewLine;<&sol;b><&sol;div>&NewLine;<p>&NewLine;<&sol;div>&NewLine;