One to Many Mapping in Hibernate Example

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">&NewLine;<p>In <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-one-to-one-mapping-tutorial&period;html">previous tutorial<&sol;a> we look that what is One To One Mapping and also discussed some examples about that&period;<&sol;p>&NewLine;<p>In this tutorial of one to many mapping in hibernate example we will discuss about the One To Many Mapping&period; A one-to-many relationship occurs when one entity is related to many occurrences in another entity&period;<&sol;p>&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">&NewLine;<div id&equals;"ads-id" align&equals;"center"><&sol;div>&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">In this chapter you will learn how to map one-to-many relationship using Hibernate&period; Consider the following relationship between <b><i>UserDetails<&sol;i><&sol;b> Class and <b><i>Vehicle<&sol;i> <&sol;b>entity&period;<&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;"><&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">One user have the multiple vehicles&period;<&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;i1&period;wp&period;com&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;one-to-many&period;jpg" border&equals;"0" &sol;><&sol;div>&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;">&NewLine;<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;<div style&equals;"color&colon; &num;20124d&semi;">Class diagram for that given below&period;<&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;i1&period;wp&period;com&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;one-to-many1&period;png" border&equals;"0" &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;">In this example <b>UserDetails <&sol;b>class has the collection of the another entity class <b>Vehicle<&sol;b>&period; So the given below diagram so table structure for that&period;<&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;i1&period;wp&period;com&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;one-to-many-table&period;jpg" border&equals;"0" &sol;><&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;"><&sol;div>&NewLine;<div style&equals;"color&colon; &num;20124d&semi;">For that we will use the following annotation&period;<&sol;div>&NewLine;<div style&equals;"color&colon; orange&semi;"><b>&commat;OneToMany&colon;<&sol;b><&sol;div>&NewLine;<p><b>Target&colon;<&sol;b><br &sol;>&NewLine;Fields &lpar;including property get methods&rpar;Defines a many-valued association with one-to-many multiplicity&period; If the collection is defined using generics to specify the element type&comma; the associated target entity type need not be specified&semi; otherwise the target entity class must be specified&period; If the relationship is bidirectional&comma; the<b> mappedBy <&sol;b>element must be used to specify the relationship field or property of the entity that is the owner of the relationship&period; The <b style&equals;"color&colon; &num;20124d&semi;">OneToMany <&sol;b>annotation may be used within an <b style&equals;"color&colon; &num;20124d&semi;">embeddable <&sol;b>class contained within an entity class to specify a relationship to a collection of entities&period; If the relationship is bidirectional&comma; the <b>mappedBy<&sol;b><b style&equals;"color&colon; &num;20124d&semi;"> <&sol;b>element must be used to specify the relationship field or property of the entity that is the owner of the relationship&period;<&sol;p>&NewLine;<&sol;div>&NewLine;<p>Now we look the following Example related to the <b>One to Many<&sol;b> mapping&period;<&sol;p>&NewLine;<p>1&period; First Create Vehicle Class<br &sol;>&NewLine;<b style&equals;"color&colon; purple&semi;">Vehicle&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;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;20124d&semi;" &sol;>&commat;Table&lpar;name&equals;&&num;8221&semi;VEHICLE&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;public class Vehicle<br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;<b style&equals;"color&colon; &num;20124d&semi;">&commat;Id<br &sol;>&NewLine;&commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar;<br &sol;>&NewLine;&commat;Column&lpar;name&equals;&&num;8221&semi;VEHICLE&lowbar;ID&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;private int vehicleId&semi;<&sol;p>&NewLine;<p><b>  &commat;Column&lpar;name&equals;&&num;8221&semi;VEHICLE&lowbar;NAME&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;private String vehicleName&semi;<&sol;p>&NewLine;<p>public int getVehicleId&lpar;&rpar; &lbrace;<br &sol;>&NewLine;return vehicleId&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public void setVehicleId&lpar;int vehicleId&rpar; &lbrace;<br &sol;>&NewLine;this&period;vehicleId &equals; vehicleId&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public String getVehicleName&lpar;&rpar; &lbrace;<br &sol;>&NewLine;return vehicleName&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public void setVehicleName&lpar;String vehicleName&rpar; &lbrace;<br &sol;>&NewLine;this&period;vehicleName &equals; vehicleName&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;&rcub;<&sol;p>&NewLine;<&sol;div>&NewLine;<p>2&period; Create the User Class<br &sol;>&NewLine;<b style&equals;"color&colon; purple&semi;">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 java&period;util&period;ArrayList&semi;<br &sol;>&NewLine;import java&period;util&period;Collection&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;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;JoinColumn&semi;<br &sol;>&NewLine;import javax&period;persistence&period;JoinTable&semi;<br &sol;>&NewLine;import javax&period;persistence&period;OneToMany&semi;<br &sol;>&NewLine;import javax&period;persistence&period;Table&semi;<&sol;p>&NewLine;<p><b style&equals;"color&colon; &num;20124d&semi;">&commat;Entity<br &sol;>&NewLine;&commat;Table &lpar;name&equals;&&num;8221&semi;USER&&num;8221&semi;&rpar;<&sol;b><br &sol;>&NewLine;public class UserDetails<br &sol;>&NewLine;&lbrace;<br &sol;>&NewLine;<b style&equals;"color&colon; &num;20124d&semi;">&commat;Id<br &sol;>&NewLine;&commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi;&rpar;<br &sol;>&NewLine;&commat;GeneratedValue&lpar;strategy&equals;GenerationType&period;AUTO&rpar;<&sol;b><br &sol;>&NewLine;private int    userId&semi;<&sol;p>&NewLine;<p><b style&equals;"color&colon; &num;20124d&semi;">&commat;Column&lpar;name&equals;&&num;8221&semi;USER&lowbar;NAME&&num;8221&semi;&rpar; <&sol;b><br &sol;>&NewLine;private String userName&semi;<&sol;p>&NewLine;<p><b>&commat;OneToMany<br style&equals;"color&colon; blue&semi;" &sol;>    &commat;JoinTable&lpar; name&equals;&&num;8221&semi;USER&lowbar;VEHICLE&&num;8221&semi;&comma; <br style&equals;"color&colon; blue&semi;" &sol;>                joinColumns&equals;&commat;JoinColumn&lpar;name&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi;&rpar;&comma; <br style&equals;"color&colon; blue&semi;" &sol;>                inverseJoinColumns&equals;&commat;JoinColumn&lpar;name&equals;&&num;8221&semi;VEHICLE&lowbar;ID&&num;8221&semi;&rpar;&rpar;<&sol;b> &sol;&sol;its optional using for name configuration of the join table<br &sol;>&NewLine;private Collection&lt&semi;Vehicle&gt&semi; vehicle &equals; new ArrayList&lt&semi;Vehicle&gt&semi;&lpar;&rpar;&semi;<&sol;p>&NewLine;<p>public int getUserId&lpar;&rpar; &lbrace;<br &sol;>&NewLine;return userId&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public Collection&lt&semi;Vehicle&gt&semi; getVehicle&lpar;&rpar; &lbrace;<br &sol;>&NewLine;return vehicle&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;public void setVehicle&lpar;Collection&lt&semi;Vehicle&gt&semi; vehicle&rpar; &lbrace;<br &sol;>&NewLine;this&period;vehicle &equals; vehicle&semi;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;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;&rcub;<&sol;p>&NewLine;<&sol;div>&NewLine;<p>3&period; Create the hibernate configuration file&period;<br &sol;>&NewLine;<b style&equals;"color&colon; purple&semi;">hibernate&period;cfg&period;xml<&sol;b>&colon;<&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;create&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;<br &sol;>&NewLine;&lt&semi;mapping class&equals;&&num;8221&semi;com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;Vehicle&&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>4&period; Create Test Demo class for run this code&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;">&NewLine;<div style&equals;"color&colon; purple&semi;">package com&period;sdnext&period;hibernate&period;tutorial&semi;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;"><&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">import org&period;hibernate&period;Session&semi;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">import org&period;hibernate&period;SessionFactory&semi;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">import org&period;hibernate&period;cfg&period;AnnotationConfiguration&semi;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;"><&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">import com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;UserDetails&semi;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">import com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;Vehicle&semi;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;"><&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">public class HibernateTestDemo &lbrace;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">    &sol;&ast;&ast;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">     &ast; &commat;param args<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">     &ast;&sol;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">    public static void main&lpar;String&lbrack;&rsqb; args&rpar;<&sol;div>&NewLine;<div style&equals;"color&colon; purple&semi;">    &lbrace;<&sol;div>&NewLine;<p>UserDetails user &equals; new UserDetails&lpar;&rpar;&semi; &sol;&sol;create the user entity object<&sol;p>&NewLine;<p>Vehicle vehicle &equals; new Vehicle&lpar;&rpar;&semi; &sol;&sol;create the first vehicle entity object<br &sol;>&NewLine;Vehicle vehicle2 &equals; new Vehicle&lpar;&rpar;&semi; &sol;&sol;create the second vehicle entity<&sol;p>&NewLine;<p>vehicle&period;setVehicleName&lpar;&&num;8220&semi;BMW Car&&num;8221&semi;&rpar;&semi; &sol;&sol;set the value to the vehicle entity<br &sol;>&NewLine;vehicle2&period;setVehicleName&lpar;&&num;8220&semi;AUDI Car&&num;8221&semi;&rpar;&semi;<&sol;p>&NewLine;<p>user&period;setUserName&lpar;&&num;8220&semi;Dinesh Rajput&&num;8221&semi;&rpar;&semi; &sol;&sol;Set the value to the user entity<br &sol;>&NewLine;user&period;getVehicle&lpar;&rpar;&period;add&lpar;vehicle&rpar;&semi; &sol;&sol;add vehicle to the list of the vehicle<br &sol;>&NewLine;user&period;getVehicle&lpar;&rpar;&period;add&lpar;vehicle2&rpar;&semi;<br style&equals;"color&colon; purple&semi;" &sol;>        <br style&equals;"color&colon; purple&semi;" &sol;>         SessionFactory sessionFactory &equals; new AnnotationConfiguration&lpar;&rpar;&period;configure&lpar;&rpar;&period;buildSessionFactory&lpar;&rpar;&semi; &sol;&sol;create session factory object<br &sol;>&NewLine;Session session &equals; sessionFactory&period;openSession&lpar;&rpar;&semi; &sol;&sol;create the session object<br &sol;>&NewLine;session&period;beginTransaction&lpar;&rpar;&semi; &sol;&sol;start the transaction of the session object<&sol;p>&NewLine;<p>session&period;save&lpar;vehicle&rpar;&semi; &sol;&sol;saving the vehicle to the database<br &sol;>&NewLine;session&period;save&lpar;vehicle2&rpar;&semi;<br &sol;>&NewLine;session&period;save&lpar;user&rpar;&semi; &sol;&sol;save the user to the database<&sol;p>&NewLine;<p>session&period;getTransaction&lpar;&rpar;&period;commit&lpar;&rpar;&semi; &sol;&sol;close the transaction<br &sol;>&NewLine;session&period;close&lpar;&rpar;&semi; &sol;&sol;close the session<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;&rcub;<br &sol;>&NewLine;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;<br &sol;>&NewLine;<b>OUTPUT&colon;<&sol;b><br &sol;>&NewLine;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;&ast;<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 style&equals;"color&colon; red&semi;" &sol;>log4j&colon;WARN Please initialize the log4j system properly&period;<br &sol;>&NewLine;Hibernate&colon; insert into VEHICLES &lpar;VEHICLE&lowbar;NAME&rpar; values &lpar;&quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into VEHICLES &lpar;VEHICLE&lowbar;NAME&rpar; values &lpar;&quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER &lpar;USER&lowbar;NAME&rpar; values &lpar;&quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;VEHICLE &lpar;USER&lowbar;ID&comma; VEHICLE&lowbar;ID&rpar; values &lpar;&quest;&comma; &quest;&rpar;<br &sol;>&NewLine;Hibernate&colon; insert into USER&lowbar;VEHICLE &lpar;USER&lowbar;ID&comma; VEHICLE&lowbar;ID&rpar; values &lpar;&quest;&comma; &quest;&rpar;<&sol;p>&NewLine;<&sol;div>&NewLine;<&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;i1&period;wp&period;com&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;output&lowbar;table&period;jpg" width&equals;"640" height&equals;"122" border&equals;"0" &sol;><&sol;div>&NewLine;<p>Now we look the table structure about this example&period;<&sol;p>&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;i1&period;wp&period;com&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2017&sol;04&sol;output&lowbar;tables&period;jpg" border&equals;"0" &sol;><&sol;div>&NewLine;<p>Now how can implement this mapping through mapping file&lpar;<b> &period;hbm&period;xml<&sol;b>&rpar; instead of the <b>annotations<&sol;b>&period;<&sol;p>&NewLine;<p>For user class&period;&period;<br &sol;>&NewLine;<b>UserDetails&period;hbm&period;xml<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; 1px&semi; color&colon; purple&semi;">&NewLine;<p>&lt&semi;&quest;xml version&equals;&&num;8221&semi;1&period;0&&num;8243&semi;&quest;&gt&semi;<br &sol;>&NewLine;&lt&semi;&excl;DOCTYPE hibernate-mapping PUBLIC<br &sol;>&NewLine;&&num;8220&semi;-&sol;&sol;Hibernate&sol;Hibernate Mapping 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-mapping-3&period;0&period;dtd&&num;8221&semi;&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;hibernate-mapping&gt&semi;<br &sol;>&NewLine;&lt&semi;class name&equals;&&num;8221&semi;com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;UserDetails&&num;8221&semi; table&equals;&&num;8221&semi;USER&&num;8221&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;id name&equals;&&num;8221&semi;userId&&num;8221&semi; type&equals;&&num;8221&semi;long&&num;8221&semi; column&equals;&&num;8221&semi;ID&&num;8221&semi; &gt&semi;<br &sol;>&NewLine;&lt&semi;generator class&equals;&&num;8221&semi;assigned&&num;8221&semi;&sol;&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;id&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;property name&equals;&&num;8221&semi;userName&&num;8221&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;column name&equals;&&num;8221&semi;UserName&&num;8221&semi; &sol;&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;property&gt&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; 1px&semi; color&colon; purple&semi;">  <b> &lt&semi;list name&equals;&&num;8221&semi;vehicle&&num;8221&semi; table&equals;&&num;8221&semi;STUDENT&lowbar;VEHICLE&&num;8221&semi; cascade&equals;&&num;8221&semi;all&&num;8221&semi;&gt&semi;<br style&equals;"color&colon; blue&semi;" &sol;>    &lt&semi;key column&equals;&&num;8221&semi;USER&lowbar;ID&&num;8221&semi; &sol;&gt&semi;<br style&equals;"color&colon; blue&semi;" &sol;>    &lt&semi;many-to-many column&equals;&&num;8221&semi;VEHICLE&lowbar;ID&&num;8221&semi; unique&equals;&&num;8221&semi;true&&num;8221&semi;    class&equals;&&num;8221&semi;com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;Vehicle&&num;8221&semi; &sol;&gt&semi;<br style&equals;"color&colon; blue&semi;" &sol;>&lt&semi;&sol;list&gt&semi;<&sol;b><&sol;div>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; 1px&semi; color&colon; purple&semi;">&NewLine;&lt&semi;&sol;class&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;hibernate-mapping&gt&semi;<&sol;div>&NewLine;<p>Mapping File For Vehicle  Class&&num;8230&semi;<br &sol;>&NewLine;<b>vehicle&period;hbm&period;xml<&sol;b><&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; 1px&semi; color&colon; &num;20124d&semi;">&NewLine;<p>&lt&semi;&quest;xml version&equals;&&num;8221&semi;1&period;0&&num;8243&semi;&quest;&gt&semi;<br &sol;>&NewLine;&lt&semi;&excl;DOCTYPE hibernate-mapping PUBLIC<br &sol;>&NewLine;&&num;8220&semi;-&sol;&sol;Hibernate&sol;Hibernate Mapping 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-mapping-3&period;0&period;dtd&&num;8221&semi;&gt&semi;<&sol;p>&NewLine;<p>&lt&semi;hibernate-mapping&gt&semi;<br &sol;>&NewLine;&lt&semi;class name&equals;&&num;8221&semi;com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;Vehicle&&num;8221&semi; table&equals;&&num;8221&semi;VEHICLE&&num;8221&semi;&gt&semi;<br &sol;>&NewLine;&lt&semi;id name&equals;&&num;8221&semi;userId&&num;8221&semi; type&equals;&&num;8221&semi;long&&num;8221&semi; column&equals;&&num;8221&semi;ID&&num;8221&semi; &gt&semi;<br &sol;>&NewLine;&lt&semi;generator class&equals;&&num;8221&semi;assigned&&num;8221&semi;&sol;&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;id&gt&semi;<br &sol;>&NewLine;&lt&semi;property name&equals;&&num;8221&semi;vehicleName&&num;8221&semi; column&equals;&&num;8221&semi;VEHICLE&lowbar;NAME&&num;8221&semi;&gt&semi;  &lt&semi;&sol;property&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;class&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;hibernate-mapping&gt&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;<p>So it is brief description about the One To Many Mapping with using <b>annotation <&sol;b>and also using<b> &period;hbm&period;xml<&sol;b> files for entity class&period;<&sol;p>&NewLine;<p><b>In <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-many-to-one-mapping-tutorial&period;html">Next Chapter<&sol;a> we will discuss about the <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-many-to-one-mapping-tutorial&period;html">Many To One Mapping<&sol;a>&period;<&sol;b><br &sol;>&NewLine;<b><br &sol;>&NewLine;<&sol;b> <b>            &lt&semi;&lt&semi;<a style&equals;"font-family&colon; Times&comma; 'Times New Roman'&comma; serif&semi;" href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-one-to-one-mapping-tutorial&period;html">Previous Chapter 17<&sol;a>&lt&semi;&lt&semi;    &gt&semi;&gt&semi;N<a style&equals;"font-family&colon; Times&comma; 'Times New Roman'&comma; serif&semi;" href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;hibernate-many-to-one-mapping-tutorial&period;html">ext Chapter19<&sol;a>&gt&semi;&gt&semi;<&sol;b><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;

View Comments