Value Types and Embedding Objects in Hibernate

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;" trbidi&equals;"on"><b style&equals;"color&colon; &num;351c75&semi; font-weight&colon; normal&semi;">We’ll learn the difference between <b>Entity type objects<&sol;b> and <b>Value type objects<&sol;b>&period; We’ll use the <b>&commat;Embeddable<&sol;b> annotations to embed a <b>value <&sol;b>type object into our <b>Entity <&sol;b>class&period;<&sol;b><&sol;p>&NewLine;<div align&equals;'center' id&equals;"ads-id"><&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">&&num;8220&semi;An <b>object of value type<&sol;b> has no<b> database identity<&sol;b>&semi; it belongs to an entity instance and its persistent state is embedded in the table row of the owning entity&period; Value types don&&num;8217&semi;t have identifiers or identifier properties&&num;8221&semi;<&sol;div>&NewLine;<p>&NewLine;Now In short we look the following points&&num;8230&semi; <&sol;p>&NewLine;<blockquote style&equals;"color&colon; &num;0b5394&semi;">&NewLine;<ul>&NewLine;<li><b>Object of Entity Type<&sol;b> &colon; has its own database identity<&sol;li>&NewLine;<li><b>Object of Value Type<&sol;b> &colon; belongs to an entity&comma; and its persistent state is embedded in the table row of the owning entity&period; Value types don&&num;8217&semi;t have identifiers or identifier properties&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;blockquote>&NewLine;<p>&nbsp&semi;We look following example of <b>Object of Entity Type&colon;<&sol;b><b style&equals;"color&colon; &num;351c75&semi; font-weight&colon; normal&semi;">&nbsp&semi;<&sol;b> <&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border&colon; medium solid&semi; color&colon; &num;0b5394&semi;">&commat;Entity<br &sol;>&NewLine;&commat;Table&lpar;name&equals;&&num;8221&semi;USER&lowbar;TABLE&&num;8221&semi;&rpar; <&sol;p>&NewLine;<div style&equals;"color&colon; black&semi;">public class UserDetails&lbrace;<&sol;div>&NewLine;<p>&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Id &commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi;&comma; type&equals;&&num;8221&semi;INTEGER&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private long userId&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;NAME&&num;8221&semi;&comma; type&equals;&&num;8221&semi;String&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String userName&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;USER&lowbar;ADDRESS&comma; type&equals;&&num;8221&semi;String&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String address&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;PHONE&&num;8221&semi;&comma; type&equals;&&num;8221&semi;INTEGER&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private long phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;DOB&&num;8221&semi;&comma; type&equals;&&num;8221&semi;TIMESTAMP&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private Date dob&semi;<&sol;p>&NewLine;<div style&equals;"color&colon; black&semi;">&rcub;<&sol;div>&NewLine;<&sol;div>&NewLine;<p><&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" height&equals;"178" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;example&period;jpg" width&equals;"640"&sol;><&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">In Above table we saw that type of the all fields of the class USER CLASS have database entity type object&period;&nbsp&semi;<&sol;div>&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; <b>ID&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; is INTEGER type<&sol;b><&sol;p>&NewLine;<div style&equals;"color&colon; &num;073763&semi;"><b>&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; Name&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; is VARCHAR type<&sol;b><&sol;div>&NewLine;<div style&equals;"color&colon; &num;073763&semi;"><b>&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; ADDRESS is VARCHAR type<&sol;b><&sol;div>&NewLine;<div style&equals;"color&colon; &num;073763&semi;"><b>&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; Phone&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; is BIG INTEGER type<&sol;b><&sol;div>&NewLine;<p><b>&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; DOB&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; is TIMESTAMP type<&sol;b><br &sol;>&NewLine;All are the Entity Type Objects&period;<&sol;p>&NewLine;<p>Now We look following example of <b>Object of Value Type&colon;<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; thin&semi; border&colon; solid&semi;"><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border&colon; medium solid&semi; color&colon; &num;0b5394&semi;">&commat;Entity<br &sol;>&NewLine;&commat;Table&lpar;name&equals;&&num;8221&semi;USER&lowbar;TABLE&&num;8221&semi;&rpar; <&sol;p>&NewLine;<div style&equals;"color&colon; black&semi;">public class UserDetails&lbrace;<&sol;div>&NewLine;<p>&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Id &commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi;&comma; type&equals;&&num;8221&semi;INTEGER&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private long userId&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;NAME&&num;8221&semi;&comma; type&equals;&&num;8221&semi;String&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String userName&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>&commat;Column&lpar;name&equals;USER&lowbar;ADDRESS&comma; type&equals;&&num;8221&semi;&quest;&quest;&quest;&quest;&quest;&quest;&&num;8221&semi;&rpar; &sol;&sol;What should be type for database<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>private Address address&semi;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;PHONE&&num;8221&semi;&comma; type&equals;&&num;8221&semi;INTEGER&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private long phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;DOB&&num;8221&semi;&comma; type&equals;&&num;8221&semi;TIMESTAMP&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private Date dob&semi;<&sol;p>&NewLine;<div style&equals;"color&colon; black&semi;">&rcub;<&sol;div>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<p>&NewLine;Now lets see table structure for that&&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" height&equals;"380" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;example2&period;jpg" width&equals;"640"&sol;><&sol;div>&NewLine;<p><&sol;p>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">here USER CLASS have a field Address type of the Value type object means in the database there are no meaning of Address type object&period;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">Address type object have the four other fields like&period;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">1&period; Street <&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">2&period; City<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">3&period; State<&sol;div>&NewLine;<p>4&period; Pin code<&sol;p>&NewLine;<p><b>VALUE TYPE OBJECT APPROACH&colon;&gt&semi;<&sol;b><&sol;p>&NewLine;<p>Here there are one approach to save the value the Address Object save to the USER TABLE is the save the individually fields of this object to the separate columns of the USER TABLE&period; As following&nbsp&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" height&equals;"373" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;example3&period;jpg" width&equals;"640"&sol;><&sol;div>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">This scenario is working in the hibernate only one condition is Address Object should be a Value Object &lpar;means there is no meaning to itself its provide the meaning to the entity object&rpar;&period;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">In this approach there are some problems are<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">1&period; Table complexity<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">2&period; Data Redundancy<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">3&period; User may have multiple Address like home address and office address etc&period;<&sol;p>&NewLine;<p>Look the above example in the code&&num;8230&semi;<br &sol;>&NewLine;<b>Address&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;<&sol;p>&NewLine;<p>import javax&period;persistence&period;Column&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Embeddable&semi;<&sol;p>&NewLine;<p><b>&commat;Embeddable<&sol;b> <b>&sol;&sol;for value object it is not is entity object&period; Value object means does not have real meaning for self individually<&sol;b>&period;<br &sol;>&NewLine;public class Address<br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>&commat;Column&lpar;name&equals;&&num;8221&semi;STREET&lowbar;NAME&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;<b>&nbsp&semi; private String street&semi;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;<b> &commat;Column&lpar;name&equals;&&num;8221&semi;CITY&lowbar;NAME&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b style&equals;"color&colon; black&semi;">private String city&semi;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>&commat;Column&lpar;name&equals;&&num;8221&semi;STATE&lowbar;NAME&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;<b style&equals;"color&colon; black&semi;"> private String state&semi;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>&commat;Column&lpar;name&equals;&&num;8221&semi;PIN&lowbar;CODE&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b style&equals;"color&colon; black&semi;">private String pincode&semi;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String getStreet&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return street&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setStreet&lpar;String street&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;street &equals; street&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String getCity&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return city&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setCity&lpar;String city&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;city &equals; city&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String getState&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return state&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setState&lpar;String state&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;state &equals; state&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String getPincode&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return pincode&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setPincode&lpar;String pincode&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;pincode &equals; pincode&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String toString&lpar;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return &&num;8221&semi; &lbrace;Street&colon; &&num;8220&semi;&plus;street&plus;&&num;8221&semi; City&colon; &&num;8220&semi;&plus;city&plus;&&num;8221&semi; State&colon; &&num;8220&semi;&plus;state&plus;&&num;8221&semi; Pincode&colon; &&num;8220&semi;&plus;pincode&plus;&&num;8221&semi; &rcub;&&num;8221&semi;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<&sol;div>&NewLine;<&sol;div>&NewLine;<p><&sol;p>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;"><b>&commat;Embeddable&colon;&nbsp&semi;<&sol;b><&sol;div>&NewLine;<p><b>Target&colon;<&sol;b><br &sol;>&NewLine;ClassesDefines a class whose instances are stored as an intrinsic part of an owning entity and share the identity of the entity&period; Each of the persistent properties or fields of the embedded object is mapped to the database table for the entity&period;&nbsp&semi; <br &sol;>&NewLine;<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;<&sol;p>&NewLine;<p>import java&period;util&period;Date&semi;<&sol;p>&NewLine;<p>import javax&period;persistence&period;Column&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Embedded&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Entity&semi;<br &sol;>&NewLine;import javax&period;persistence&period;GeneratedValue&semi;<br &sol;>&NewLine;import javax&period;persistence&period;GenerationType&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><b>&commat;Entity<br style&equals;"color&colon; &num;274e13&semi;" &sol;>&commat;Table &lpar;name&equals;&&num;8221&semi;USER&lowbar;TABLE&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;public class UserDetails <br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>&commat;Id &commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar;<br style&equals;"color&colon; &num;274e13&semi;" &sol;>&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi;&rpar;<&sol;b><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;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b style&equals;"color&colon; &num;274e13&semi;">&commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;NAME&&num;8221&semi;&rpar; <&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String userName&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>&commat;Embedded<&sol;b> <b>&sol;&sol;For value type object<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private Address address&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;<b> &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;PHONE&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;<b style&equals;"color&colon; &num;274e13&semi;"> &commat;Column&lpar;name&equals;&&num;8221&semi;DOB&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private Date dob&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <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;&nbsp&semi;&nbsp&semi;&nbsp&semi; public Address getAddress&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return address&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setAddress&lpar;Address address&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;address &equals; address&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String getPhone&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setPhone&lpar;String phone&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;phone &equals; phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public Date getDob&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return dob&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setDob&lpar;Date dob&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;dob &equals; dob&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<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 String toString&lpar;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; 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; User Address &&num;8220&semi;&plus;address&plus;&&num;8221&semi; Use phone &&num;8221&semi; &plus;phone&plus;&&num;8221&semi; &rsqb;&&num;8221&semi;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;0c343d&semi;"><b><br &sol;>&NewLine;<&sol;b><&sol;div>&NewLine;<p><b style&equals;"color&colon; &num;0c343d&semi;">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;">&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;&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;root&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;root&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; JDBC connection pool &lpar;use the built-in&rpar; &&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;pool&lowbar;size&&num;8221&semi;&gt&semi;1&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; 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; Echo 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; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &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;<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; &lt&semi;&sol;session-factory&gt&semi; <br &sol;>&NewLine;&nbsp&semi;&lt&semi;&sol;hibernate-configuration&gt&semi;<&sol;div>&NewLine;<p><b><br &sol;>&NewLine;<&sol;b><br &sol;>&NewLine;<b>HibernateTestDemo&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&semi;<&sol;p>&NewLine;<p>import java&period;util&period;Date&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;Address&semi;<br &sol;>&NewLine;import com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;UserDetails&semi;<&sol;p>&NewLine;<p>public class HibernateTestDemo &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &sol;&ast;&ast;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&ast; &commat;param args<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&ast;&sol;<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;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user1 &equals; new UserDetails&lpar;&rpar;&semi; &sol;&sol;create first user<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user2 &equals; new UserDetails&lpar;&rpar;&semi; &sol;&sol;create second user<br &sol;>&NewLine;&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;&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; user2&period;setUserName&lpar;&&num;8220&semi;Anamika Rajput&&num;8221&semi;&rpar;&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; Address address1 &equals; new Address&lpar;&rpar;&semi; &sol;&sol;create first value type object for&nbsp&semi; entity type object user1<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setStreet&lpar;&&num;8220&semi;K Block House No&period; 403&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setCity&lpar;&&num;8220&semi;Mangol Puri&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setState&lpar;&&num;8220&semi;New Delhi&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setPincode&lpar;&&num;8220&semi;110083&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setAddress&lpar;address1&rpar;&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; Address address2 &equals; new Address&lpar;&rpar;&semi;&sol;&sol;create second value type object for&nbsp&semi; entity type object user2<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address2&period;setStreet&lpar;&&num;8220&semi;Film City&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address2&period;setCity&lpar;&&num;8220&semi;Noida&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address2&period;setState&lpar;&&num;8220&semi;UP&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address2&period;setPincode&lpar;&&num;8220&semi;201301&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setAddress&lpar;address2&rpar;&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; user1&period;setDob&lpar;new Date&lpar;&rpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user1&period;setPhone&lpar;&&num;8220&semi;&plus;91-9953423462&&num;8221&semi;&rpar;&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; user2&period;setDob&lpar;new Date&lpar;&rpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user2&period;setPhone&lpar;&&num;8220&semi;&plus;91-9973423462&&num;8221&semi;&rpar;&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; SessionFactory sessionFactory &equals; new AnnotationConfiguration&lpar;&rpar;&period;configure&lpar;&rpar;&period;buildSessionFactory&lpar;&rpar;&semi; &sol;&sol;create a session factory object<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; Session session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi; &sol;&sol; create session object from session factory<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;beginTransaction&lpar;&rpar;&semi; &sol;&sol;begin transaction for this session<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; session&period;save&lpar;user1&rpar;&semi; &sol;&sol;save the first user <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user2&rpar;&semi; &sol;&sol;save the second user<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; session&period;getTransaction&lpar;&rpar;&period;commit&lpar;&rpar;&semi; &sol;&sol;commit the transaction the session<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;close&lpar;&rpar;&semi; &sol;&sol;close the session<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;<b><br &sol;>&NewLine;<&sol;b><br &sol;>&NewLine;<b>OUTPUT&colon;<&sol;b><br &sol;>&NewLine;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;CITY&lowbar;NAME&comma; PIN&lowbar;CODE&comma; STATE&lowbar;NAME&comma; STREET&lowbar;NAME&comma; DOB&comma; USER&lowbar;PHONE&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&comma; &quest;&comma; &quest;&comma; &quest;&comma; &quest;&comma; &quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;TABLE &lpar;CITY&lowbar;NAME&comma; PIN&lowbar;CODE&comma; STATE&lowbar;NAME&comma; STREET&lowbar;NAME&comma; DOB&comma; USER&lowbar;PHONE&comma; USER&lowbar;NAME&rpar; values &lpar;&quest;&comma; &quest;&comma; &quest;&comma; &quest;&comma; &quest;&comma; &quest;&comma; &quest;&rpar;<b><&sol;b><&sol;div>&NewLine;<p><&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img border&equals;"0" height&equals;"105" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;outputs&period;jpg" width&equals;"640"&sol;><&sol;div>&NewLine;<p><&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;tables&period;jpg"&sol;><&sol;div>&NewLine;<p><b style&equals;"color&colon; &num;274e13&semi;"><br &sol;>&NewLine;<&sol;b> <b style&equals;"color&colon; &num;274e13&semi;">Attributes Override&colon;<&sol;b><&sol;p>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">Here<b> <&sol;b>we have seen that an Entity Type Object USER has a Value Type Object&lpar;or Embeddable Object &rpar; ADDRESS with corresponding fields name street&comma; city&comma; pin-code and state save to the database table USER&lowbar;TABLE with value type object&&num;8217&semi;s column name &lpar;CITY&lowbar;NAME&comma; PIN&lowbar;CODE&comma; STATE&lowbar;NAME&comma; STREET&lowbar;NAME&rpar;&period;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">&NewLine;<&sol;div>&NewLine;<p>But here some problems&comma; suppose this user object have two types of addresses as like Local Address and Permanent Address then how to manage the column names of these value type objects in the database table USER&lowbar;TABLE&period; <&sol;p>&NewLine;<p>To overcome this problem we&nbsp&semi; have to override the Attributes of the Value type objects&period;<br &sol;>&NewLine;Lets see how to get in the code&&num;8230&semi;<&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;<&sol;p>&NewLine;<p>import java&period;util&period;Date&semi;<&sol;p>&NewLine;<p>import javax&period;persistence&period;AttributeOverride&semi;<br &sol;>&NewLine;import javax&period;persistence&period;AttributeOverrides&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Column&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Embedded&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Entity&semi;<br &sol;>&NewLine;import javax&period;persistence&period;GeneratedValue&semi;<br &sol;>&NewLine;import javax&period;persistence&period;GenerationType&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Id&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Lob&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Table&semi;<&sol;p>&NewLine;<p><b>&commat;Entity<br style&equals;"color&colon; &num;274e13&semi;" &sol;>&commat;Table &lpar;name&equals;&&num;8221&semi;USER&lowbar;TABLE&&num;8221&semi;&rpar;<&sol;b>public class UserDetails <br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b style&equals;"color&colon; &num;274e13&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; &commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar;<&sol;b><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;&nbsp&semi; <b style&equals;"color&colon; &num;274e13&semi;"><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;NAME&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String userName&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b>&commat;Column&lpar;name&equals;&&num;8221&semi;DOB&&num;8221&semi;&rpar;<br style&equals;"color&colon; &num;274e13&semi;" &sol;>&nbsp&semi;&nbsp&semi;&nbsp&semi; <&sol;b>private Date joinDate&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b style&equals;"color&colon; &num;274e13&semi;">&commat;Column&lpar;name&equals;&&num;8221&semi;ADDRESS&&num;8221&semi;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;Embedded<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;AttributeOverrides&lpar;&lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;AttributeOverride&lpar;name&equals;&&num;8221&semi;street&&num;8221&semi;&comma; column&equals;&commat;Column&lpar;name&equals;&&num;8221&semi;HOME&lowbar;STREET&lowbar;NAME&&num;8221&semi;&rpar;&rpar;&comma;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;AttributeOverride&lpar;name&equals;&&num;8221&semi;city&&num;8221&semi;&comma; column&equals;&commat;Column&lpar;name&equals;&&num;8221&semi;HOME&lowbar;CITY&lowbar;NAME&&num;8221&semi;&rpar;&rpar;&comma;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;AttributeOverride&lpar;name&equals;&&num;8221&semi;state&&num;8221&semi;&comma; column&equals;&commat;Column&lpar;name&equals;&&num;8221&semi;HOME&lowbar;STATE&lowbar;NAME&&num;8221&semi;&rpar;&rpar;&comma;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &commat;AttributeOverride&lpar;name&equals;&&num;8221&semi;pincode&&num;8221&semi;&comma; column&equals;&commat;Column&lpar;name&equals;&&num;8221&semi;HOME&lowbar;PIN&lowbar;CODE&&num;8221&semi;&rpar;&rpar;&rcub;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private Address homeAddress&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <b style&equals;"color&colon; &num;274e13&semi;">&commat;Embedded<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; private Address permanentAddress&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;<b style&equals;"color&colon; &num;274e13&semi;"> &commat;Column&lpar;name&equals;&&num;8221&semi;Phone&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; private String phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&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 Address getHomeAddress&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return homeAddress&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setHomeAddress&lpar;Address homeAddress&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;homeAddress &equals; homeAddress&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;&nbsp&semi;&nbsp&semi;&nbsp&semi; public Date getDob&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return dob&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setDob&lpar;Date dob&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;dob&equals; dob&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public Address getPermanentAddress&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return permanentAaddress&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setPermanentAddress&lpar;Address permanentAddress&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;permanentAddress &equals; permanentAddress&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String getPhone&lpar;&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public void setPhone&lpar;String phone&rpar; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; this&period;phone&equals; phone&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; public String toString&lpar;&rpar;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lbrace;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; return &&num;8220&semi;&lbrack;User Name&colon; &&num;8220&semi;&plus;userName&plus;&&num;8221&semi;n Permanent Address&colon; &&num;8220&semi;&plus;permanentAddress&plus;&&num;8221&semi;n Home Address&colon; &&num;8220&semi;&plus;homeAddress&plus;&&num;8221&semi;n Date of Birth&colon; &&num;8220&semi;&plus;dob&plus;&&num;8221&semi;n Phone&colon; &&num;8220&semi;&plus;phone&plus;&&num;8221&semi;&rsqb;&&num;8221&semi;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<&sol;div>&NewLine;<p>&NewLine;Now run the following code of the class file&period;&period;<br &sol;>&NewLine;<b>HibernateTestDemo&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&semi;<&sol;p>&NewLine;<p>import java&period;util&period;Date&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;Address&semi;<br &sol;>&NewLine;import com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;UserDetails&semi;<&sol;p>&NewLine;<p>&NewLine;public class HibernateTestDemo &lbrace;<&sol;p>&NewLine;<p>&nbsp&semi;&nbsp&semi;&nbsp&semi; &sol;&ast;&ast;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&ast; &commat;param args<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&ast;&sol;<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;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; UserDetails user &equals; new UserDetails&lpar;&rpar;&semi; &sol;&sol;create an user is entity type object<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &sol;&sol;user&period;setUserId&lpar;1&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user&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; <br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; Address address &equals; new Address&lpar;&rpar;&semi; &sol;&sol;create an value type object of address class for home address<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address&period;setStreet&lpar;&&num;8220&semi;Block House No&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address&period;setCity&lpar;&&num;8220&semi;MangolaPuri&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address&period;setState&lpar;&&num;8220&semi;New Delhi&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address&period;setPincode&lpar;&&num;8220&semi;110089&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user&period;setHomeAddress&lpar;address&rpar;&semi; &sol;&sol;set the home address<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; Address address1 &equals; new Address&lpar;&rpar;&semi;&sol;&sol;create another value type object for the permanent address<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setStreet&lpar;&&num;8220&semi;Film City&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setCity&lpar;&&num;8220&semi;Noida&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setState&lpar;&&num;8220&semi;UP&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; address1&period;setPincode&lpar;&&num;8220&semi;201301&&num;8221&semi;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user&period;setPermanentAddress&lpar;address1&rpar;&semi;&sol;&sol;set the permanent address<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; user&period;setDob&lpar;new Date&lpar;&rpar;&rpar;&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; user&period;setPhone&lpar;&&num;8220&semi;9999222211&&num;8221&semi;&rpar;&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; SessionFactory sessionFactory &equals; new AnnotationConfiguration&lpar;&rpar;&period;configure&lpar;&rpar;&period;buildSessionFactory&lpar;&rpar;&semi; &sol;&sol;create a session factory object<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; Session session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi; &sol;&sol;create a session object<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;beginTransaction&lpar;&rpar;&semi; &sol;&sol;transaction object start<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;save&lpar;user&rpar;&semi; &sol;&sol;&nbsp&semi; save the entity type object user to the database<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; &sol;&sol;commit the transaction object<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; session&period;close&lpar;&rpar;&semi; &sol;&sol;close the session<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &nbsp&semi;&nbsp&semi;&nbsp&semi; &rcub;<br &sol;>&NewLine;&rcub;<&sol;div>&NewLine;<p>&NewLine;After running the above code we will get the following table structure&&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" height&equals;"42" src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;tables1-1024x67&period;jpg" width&equals;"640"&sol;><&sol;div>&NewLine;<p>&NewLine;<b>Now in the <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;saving-collections&period;html">Next Chapter <&sol;a>we will see how to work on <&sol;b><b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;saving-collections&period;html">Work with Collection in Hibernate&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;&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;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;<b>&nbsp&semi; &lt&semi;&lt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-delete-query&period;html">Previous Chapter 12<&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;saving-collections&period;html">ext Chapter14<&sol;a><&sol;b><br &sol;>&NewLine;<b><br &sol;>&NewLine;<&sol;b> <b><br &sol;>&NewLine;<&sol;b> <b><&sol;b><br &sol;>&NewLine;<b><br &sol;>&NewLine;<&sol;b> <b><br &sol;>&NewLine;<&sol;b><&sol;div>&NewLine;

View Comments