What is Hibernate O/R Mapping

<div dir&equals;"ltr" style&equals;"text-align&colon; left&semi;" trbidi&equals;"on">&NewLine;<div style&equals;"color&colon; blue&semi;">Hello Friends In Last chapters you learned about how to write our first hibernate application&comma; there are two approach we have used for that&&num;8212&semi;<&sol;div>&NewLine;<ol style&equals;"color&colon; blue&semi;">&NewLine;<li>Using <b>Annotation <&sol;b>for Model Class Object Mapping&nbsp&semi;<&sol;li>&NewLine;<li>Another way Using <b>Hibernate O&sol;R Mapping file&lpar;&period;hbm&period;xml&rpar;<&sol;b> for Model Class Object Mapping&period; <&sol;li>&NewLine;<&sol;ol>&NewLine;<div align&equals;'center' id&equals;"ads-id"><&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;"><&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">In the last example we created <b>userDetails&period;hbm&period;xml<&sol;b> to map <b>UserDetails <&sol;b>Object to the <b>UserDetails<&sol;b> table in the database&period; Now let&&num;8217&semi;s understand the each component of the mapping file&period;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">To recall here is the content of <b>userDetails&period;hbm&period;xml<&sol;b>&colon;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border&colon; solid&semi;">&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi; border-width&colon; 1px&semi;"><b>&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;&nbsp&semi; &lt&semi;class name&equals;&&num;8221&semi;<&sol;b><b>com&period;sdnext&period;hibernate&period;tutorial&period;dto&period;UserDetails&&num;8221&semi; table&equals;&&num;8221&semi;UserDetails&&num;8221&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &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;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;generator class&equals;&&num;8221&semi;assigned&&num;8221&semi;&sol;&gt&semi;<br &sol;>&NewLine;&nbsp&semi; &nbsp&semi;&nbsp&semi; &lt&semi;&sol;id&gt&semi;<&sol;p>&NewLine;<p>&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;property name&equals;&&num;8221&semi;userName&&num;8221&semi;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;column name&equals;&&num;8221&semi;UserName&&num;8221&semi; &sol;&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&sol;property&gt&semi;<br &sol;>&NewLine;&nbsp&semi;&nbsp&semi;&nbsp&semi; &lt&semi;&sol;class&gt&semi;<br &sol;>&NewLine;&lt&semi;&sol;hibernate-mapping&gt&semi;<&sol;b><&sol;div>&NewLine;<&sol;div>&NewLine;<p>&NewLine;1&period;<b>&lt&semi;hibernate-mapping&gt&semi; element&colon;<&sol;b><&sol;p>&NewLine;<div style&equals;"color&colon; blue&semi;">&nbsp&semi;The first or root element of hibernate mapping document is &lt&semi;hibernate-mapping&gt&semi; element&period; Between the &lt&semi;<b>hibernate-mapping&gt&semi;<&sol;b> tag class element&lpar;s&rpar; are present&period;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">2&period; <b>&lt&semi;class&gt&semi; element&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;"><b>&nbsp&semi;<&sol;b>The &lt&semi;Class&gt&semi; element maps the class object with corresponding entity in the database&period; It also tells what table in the database has to access and what column in that table it should use&period; Within one &lt&semi;hibernate-mapping&gt&semi; element&comma; several &lt&semi;class&gt&semi; mappings are possible&period;<b>&nbsp&semi;<&sol;b><&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;"><b>3&period;<&sol;b><b>&lt&semi;id&gt&semi; element&colon;<&sol;b><&sol;div>&NewLine;<p><b>&nbsp&semi;<&sol;b><b> <&sol;b>The &lt&semi;id&gt&semi; element in unique identifier to identify an object&period; In fact &lt&semi;id&gt&semi; element map with the primary key of the table&period; In our code &colon;<br &sol;>&NewLine;<b> &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;<&sol;b><&sol;p>&NewLine;<div style&equals;"color&colon; blue&semi;">primary key maps to the <b>ID<&sol;b> field of the table <b>UserDetails<&sol;b>&period; Following is the attributes of &lt&semi;id&gt&semi; element<&sol;div>&NewLine;<ul>&NewLine;<li><b>name <&sol;b>&&num;8211&semi; Property name of the persistence model class<&sol;li>&NewLine;<li><b>type <&sol;b>&&num;8211&semi; The java data type used for that property<&sol;li>&NewLine;<li><b>column <&sol;b>&&num;8211&semi; Name of the column for that property of the persistence object<&sol;li>&NewLine;<li><b>unsaved-value<&sol;b> &&num;8211&semi; This is the value used to determine if a class has been made persistent&period; If the value of the id attribute is null&comma; then it means that this object has not been persisted&period;&nbsp&semi;<b> <&sol;b><&sol;li>&NewLine;<&sol;ul>&NewLine;<div style&equals;"color&colon; blue&semi;"><b>4&period;<&sol;b><b>&lt&semi;generator&gt&semi; element&colon;<&sol;b><&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">Used to create primary key for new record&comma; there are some commonly used generators type given below&&num;8230&semi;<&sol;div>&NewLine;<ul>&NewLine;<li> <b> Increment- <&sol;b>used to generate primary keys of type long&comma; short or int that are unique only&period;<&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>Sequence<&sol;b>&nbsp&semi; &&num;8211&semi; used to generate primary keys for DB2&comma; Oracle&comma; SAP Database&period;<&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>Assigned<&sol;b>&nbsp&semi; &&num;8211&semi; is used when application code generates the primary key&period;&nbsp&semi;<&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>Native<&sol;b> &nbsp&semi; &nbsp&semi; &nbsp&semi; &&num;8211&semi; selects identity&comma; sequence or hilo depending upon the capabilities of the underlying db&period; <&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>Identity&nbsp&semi;&nbsp&semi;&nbsp&semi;&nbsp&semi; <&sol;b>&&num;8211&semi; supports identity columns in DB2&comma; MySQL&comma; MS SQL Server&comma; Sybase and HypersonicSQL&period; The returned identifier is of type long&comma; short or int&period; &nbsp&semi;<&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>Uuid<&sol;b>&nbsp&semi; &&num;8211&semi; Unique use ID of 128 bits generated from using algorithm and return type is String<&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>hilo<&sol;b>&nbsp&semi; &&num;8211&semi; generated by the hi&sol;lo Algorithm<&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>seqhilo &&num;8211&semi; <&sol;b>generated by the hi&sol;lo Algorithm according to sequence of database<&sol;li>&NewLine;<li style&equals;"color&colon; blue&semi;"><b>select &&num;8211&semi; <&sol;b>select from database triggered value<b><br &sol;>&NewLine;<&sol;b><&sol;li>&NewLine;<li><b style&equals;"color&colon; blue&semi;">foreign &&num;8211&semi; <&sol;b>associated with the other model objects<b><br &sol;>&NewLine;<&sol;b><&sol;li>&NewLine;<&sol;ul>&NewLine;<div style&equals;"color&colon; blue&semi;"><b>5&period;<&sol;b><b>&lt&semi;property&gt&semi; element&colon; <&sol;b>define standard Java attributes and their mapping into database schema&period;<b>&nbsp&semi;<&sol;b><b>&nbsp&semi;<&sol;b><&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">That is all about the mapping file for O&sol;R mapping<b>&period;<&sol;b> I hope you was understand its all elements and its working in the hibernate&period;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">&NewLine;<p>&NewLine;<&sol;div>&NewLine;<div style&equals;"color&colon; blue&semi;">Now in the <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;chapter-7-saving-objects-using&period;html"><b>Next Chapter<&sol;b><&sol;a> we will discuss more about <b><a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;chapter-7-saving-objects-using&period;html">Saving Objects using Hibernate APIs<&sol;a><&sol;b> <&sol;p>&NewLine;<p>&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; <b>&nbsp&semi; &nbsp&semi; <&sol;b><b>&lt&semi;&lt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;p&sol;chapter-5-writing-first-hibernate&period;html">Previous Chapter 5<&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;using-annotations-vs-configuration&period;html">ext Chapter7<&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> <b><br &sol;>&NewLine;<&sol;b><&sol;div>&NewLine;<&sol;div>&NewLine;

View Comments

  • I know adds are more important to this website...But most of the ads are covering the content.
    i feel ads are more than the content...