<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8447974778861819936</id><updated>2012-02-16T18:21:39.650-08:00</updated><category term='NHibernate'/><category term='Object Model'/><category term='Theme'/><category term='MOSS 2007'/><category term='WebPart'/><category term='Sharepoint'/><category term='Administration'/><title type='text'>Sami Al Sayyed</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-7269242471666928792</id><published>2009-06-14T01:18:00.000-07:00</published><updated>2009-06-14T01:19:46.528-07:00</updated><title type='text'>HTML Viewer and MOSS 2007</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: verdana; color: rgb(76, 76, 76); "&gt;&lt;table width="100%" border="0" cellspacing="0" cellpadding="0" dir="None"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="ms-PostTitle" style="font-size: 16pt; border-top-style: solid; border-top-width: 1px; border-top-color: rgb(251, 140, 60); padding-top: 6px; "&gt;&lt;span class="Apple-style-span" style="font-size: 11px; color: rgb(102, 102, 102); line-height: 18px; "&gt;&lt;div&gt;Some of you already know that SharePoint 2003 (and WSS v2) provide a functionnality which convert Office document on HTML page for client which has not Office installed.&lt;/div&gt;&lt;div&gt;This function is called &lt;strong&gt;HTML Viewer&lt;/strong&gt; and need to be downloaded as an add-on.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Now, if you check on MOSS/WSS v3, you still have the capablity to manage this function (like in SPS 2003). However, the download for HTML Viewer currently available &lt;strong&gt;DOESN'T WORK&lt;/strong&gt; with MOSS/WSS v3.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Mainly, this is due to some security issue found after the realease and for some other part for the new code used by MOSS.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Actually, the product group doesn't plan to release a newer version of HTML Viewer which can works with MOSS. Seamily, due to a very low usage (counted thanks to the number of download for HTML Viewer) of HTML Viewer in SPS 2003.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;So, if you plan to use this functionnality, you have to wait for third party or news for the product group.&lt;/div&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="ms-PostBody" style="color: rgb(102, 102, 102); font-size: 8pt; line-height: 1.7em; padding-top: 6px; padding-bottom: 12px; "&gt;&lt;div dir=""&gt;&lt;div class="ExternalClassBE437EF82C174089A2736AA2FCA4C331"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-7269242471666928792?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/7269242471666928792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=7269242471666928792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/7269242471666928792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/7269242471666928792'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2009/06/html-viewer-and-moss-2007.html' title='HTML Viewer and MOSS 2007'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-6500588250173676639</id><published>2009-03-30T05:26:00.000-07:00</published><updated>2009-03-30T05:27:54.428-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object Model'/><category scheme='http://www.blogger.com/atom/ns#' term='WebPart'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Implement the Object Model in a Custom Web Part</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;b&gt;&lt;span style="font-size:14.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;How to: Implement the Object Model in a Custom Web Part&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:14.0pt;line-height:115%"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms479215.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms479215.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;b&gt;&lt;span style="font-size:14.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;Working with List Objects and Collections&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms460897.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms460897.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:8.0pt;line-height:115%;font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:#4C4C4C"&gt;ERROR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:8.0pt;line-height:115%;font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:#4C4C4C"&gt;The "SimpleWebPart" Web Part appears to be causing a problem. Updates are currently disallowed on GET requests.  To allow updates on a GET, set the 'AllowUnsafeUpdates' property on SPWeb&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:8.0pt;line-height:115%;font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:#4C4C4C"&gt;SOLUTION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size: 10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:#2B91AF;mso-no-proof:yes"&gt;SPWeb&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-no-proof:yes"&gt; myweb2 = &lt;span style="color:#2B91AF"&gt;SPControl&lt;/span&gt;.GetContextWeb(Context);&lt;span class="Apple-style-span" style="line-height: 14px; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-no-proof:yes"&gt;&lt;span class="Apple-style-span" style="line-height: 14px; "&gt;myweb2.AllowUnsafeUpdates = &lt;span style="color:blue"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: rgb(76, 76, 76); font-family: Tahoma; font-size: 11px; font-weight: bold; line-height: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:8.0pt;line-height:115%;font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:#4C4C4C"&gt;ERROR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;Request for the permission of type 'Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size:8.0pt;line-height:115%;font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:#4C4C4C"&gt;SOLUTION&lt;span class="apple-style-span"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;border:none windowtext 1.0pt; mso-border-alt:none windowtext 0in;padding:0in"&gt;&lt;&lt;span style="color:#A31515"&gt;trust&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;color:blue;border:none windowtext 1.0pt; mso-border-alt:none windowtext 0in;padding:0in"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;color:red;border:none windowtext 1.0pt; mso-border-alt:none windowtext 0in;padding:0in"&gt;level&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;border:none windowtext 1.0pt;mso-border-alt:none windowtext 0in; padding:0in"&gt;=&lt;span style="color:#080808"&gt;"&lt;/span&gt;Full&lt;span style="color:#080808"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;color:blue;border:none windowtext 1.0pt; mso-border-alt:none windowtext 0in;padding:0in"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;color:red;border:none windowtext 1.0pt; mso-border-alt:none windowtext 0in;padding:0in"&gt;originUrl&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;border:none windowtext 1.0pt;mso-border-alt:none windowtext 0in; padding:0in"&gt;=&lt;span style="color:#080808"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;color:blue;border:none windowtext 1.0pt; mso-border-alt:none windowtext 0in;padding:0in"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt;line-height:115%; font-family:&amp;quot;inherit&amp;quot;,&amp;quot;serif&amp;quot;;border:none windowtext 1.0pt;mso-border-alt:none windowtext 0in; padding:0in"&gt;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;b&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;To get the PublicKeyToken&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;sn -T *.dll&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;b&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;Where to Put Webparts&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;b&gt;&lt;span style="font-size:10.0pt; line-height:115%;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;The web.config you have to edit to add safeControls&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-6500588250173676639?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/6500588250173676639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=6500588250173676639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/6500588250173676639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/6500588250173676639'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2009/03/implement-object-model-in-custom-web.html' title='Implement the Object Model in a Custom Web Part'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-6741451147411529185</id><published>2009-03-30T05:17:00.000-07:00</published><updated>2009-03-30T05:22:45.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theme'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>MOSS 2007 Theme</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre; "&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;MOSS 2007 Theme&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Copy&lt;/div&gt;&lt;div&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES\GRANITE folder&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;--- Theme.inf Title and theme information&lt;/div&gt;&lt;div&gt;--- Theme.css&lt;/div&gt;&lt;div&gt;--- Images&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Rename GRANITE.INF with ANYTHING_THEME.INF&lt;/div&gt;&lt;div&gt;Open the file and replace every GRANITE word with ANYTHING_THEME&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Open this file with notepad&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\SPTHEMES.XML&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Add this entry:&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal" style="margin-top:0in;margin-right:.9pt;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;line-height:normal;tab-stops:.5in; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;MS Shell Dlg&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;templates&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:.9pt;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;line-height:normal;tab-stops:.5in; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;MS Shell Dlg&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;templateid&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt;ANYTHING_THEME&lt;/span&gt;&lt;/templateid&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:.9pt;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;line-height:normal;tab-stops:.5in; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;MS Shell Dlg&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;displayname&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt;ANYTHING_THEME&lt;/span&gt;&lt;/displayname&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:.9pt;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;line-height:normal;tab-stops:.5in; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;MS Shell Dlg&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;description&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt;ANYTHING_THEME bla bla bla&lt;/span&gt;.&lt;/description&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:.9pt;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;line-height:normal;tab-stops:.5in; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;MS Shell Dlg&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;thumbnail&gt;images/th&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt;ANYTHING_THEME&lt;/span&gt;.gif&lt;/thumbnail&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:.9pt;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;line-height:normal;tab-stops:.5in; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;MS Shell Dlg&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;span style="mso-tab-count: 2"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;&lt;preview&gt;images/th&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt;ANYTHING_THEME&lt;/span&gt;.gif&lt;/preview&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:.9pt;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;line-height:normal;tab-stops:.5in; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;MS Shell Dlg&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;/templates&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-6741451147411529185?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/6741451147411529185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=6741451147411529185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/6741451147411529185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/6741451147411529185'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2009/03/moss-2007-theme.html' title='MOSS 2007 Theme'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-4138915766429788854</id><published>2009-03-30T05:10:00.000-07:00</published><updated>2009-03-30T05:16:37.714-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>MOSS 2007 Export/Import</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;MOSS 2007 Export/Import&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- This task can be done only locally on the server machine.&lt;/div&gt;&lt;div&gt;- Use the user that been used for installing MOSS.&lt;/div&gt;&lt;div&gt;- Open the command line.&lt;/div&gt;&lt;div&gt;- Go to this location:&lt;/div&gt;&lt;div&gt;\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Export command:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;stsadm.exe -o export -url http://SERVER_NAME -filename c:\FILE_NAME.bak -overwrite&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Import Command:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;stsadm.exe –o import –url http://URL –filename c:\FILE_NAME.bak&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;NOTE:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;If you got this error: Object reference not set to an instance of an object.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;You are not the administrator, login using the user that been used to install MOSS&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;The two sites should be the same, make sure that they have the same features. Ex: Publishing site can't be imported to team Site.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-4138915766429788854?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/4138915766429788854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=4138915766429788854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/4138915766429788854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/4138915766429788854'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2009/03/moss-2007-exportimport.html' title='MOSS 2007 Export/Import'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-7571898830149599068</id><published>2009-03-30T04:57:00.000-07:00</published><updated>2009-03-30T05:08:29.459-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebPart'/><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>NHibernate and Sharepoint 2007</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre; "&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;NHibernate and Sharepoint 2007&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;Sharepoint webpart that uses NHibernate to do Database operations.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;It was a hard task, spent 2 days fixing deployment errors and assemblies dependencies.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;At the end it worked :)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Make sure:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;- Hibernate mapping file build action is embedded resource&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;- Use NHibernate.ByteCode.Castle not NHibernate.ByteCode.LinFu (I donno why!)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;- hibernate.cfg.xml and &lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; white-space: normal; "&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;NHibernate.ByteCode.Castle.dll&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre; "&gt; should be in C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre;"&gt;- NHibernate required libraries put them in the GAC C:\WINDOWS\assembly&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-7571898830149599068?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/7571898830149599068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=7571898830149599068' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/7571898830149599068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/7571898830149599068'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2009/03/nhibernate-and-sharepoint-2007.html' title='NHibernate and Sharepoint 2007'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-3261927927856438179</id><published>2007-07-24T09:04:00.000-07:00</published><updated>2010-02-08T00:05:46.329-08:00</updated><title type='text'>Hibernate Querying Optimization - HQL with joins</title><content type='html'>&lt;h2&gt;The problem:&lt;/h2&gt;&lt;br /&gt;&lt;span style="font-size:10pt;"&gt;For each object that Hibernate loads, it needs to do one or more extra SQL queries to load associated objects. (Potentially as many as &lt;em&gt;Kn + 1&lt;/em&gt;, where &lt;em&gt;n&lt;/em&gt; is the number of objects returned).&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2&gt;Example:&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:10pt;"&gt;Simplified hibernate mapping file&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;&amp;lt;class name="Department"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;…&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;&amp;lt;many-to-one name="employee".../&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;…&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;&amp;lt;/class&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:10pt;"&gt;Simple HQL Query&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;from Department dept where dept.location like :LOCATION&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;span style="font-size:10pt;"&gt;The generated SQL statements:&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt; &lt;li&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:10pt;"&gt;At least the initial select.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;select dept_id, deplt_name, dept_location...from department...&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:10pt;"&gt;Then a sequence of selects from the associated table. (n sql select statements)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;Select ...from employee...&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;Select ...from employee...&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;Select ...from employee...&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;...&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-size:10pt;"&gt;If Sale table returns 100 rows, you will see 100 select statements extra more than the main select statement.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h2&gt;The solution (1):&lt;/h2&gt;&lt;br /&gt;&lt;span style="font-size:10pt;"&gt;The association objects must be loaded in the initial query and just when you need them. This can be done by adding &lt;span style="color: #333333;  background-font-family:Courier New;color:#eeece1;"&gt;'left join fetch'&lt;/span&gt; for example and switching the lazy loading on.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;from Department dept &lt;span style="background-;color:yellow;"&gt;left join fetch dept.employee&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;where dept.location like :LOCATION&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-size:10pt;"&gt;This will generate just one sql select statement.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2&gt;The solution (2): When there are a lot of association tables&lt;/h2&gt;&lt;br /&gt;&lt;span style="font-size:10pt;"&gt;You don't want to end up with query like this:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;from Department dept&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="color: #333333;   background-font-family:Courier New;font-size:10pt;color:yellow;"&gt;left join fetch dept.employee&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="color: #333333;   background-font-family:Courier New;font-size:10pt;color:yellow;"&gt;left join fetch dept.manager&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="color: #333333;   background-font-family:Courier New;font-size:10pt;color:yellow;"&gt;left join fetch dept.building&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="color: #333333;   background-font-family:Courier New;font-size:10pt;color:yellow;"&gt;left join fetch dept.level&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;&lt;span style="background-;color:yellow;"&gt;left join fetch dept.city&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;…etc&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-size:10pt;"&gt;The approach involves determining exactly which columns you really need, and instantiating data-transfer objects containing exactly those columns.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;Select &lt;span style="background-;color:yellow;"&gt;new Department (dept.id, dept.employee.name, dept.manager.name, …)&lt;/span&gt; from Department dept&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="background: #eeece1;"&gt;&lt;span style="  ;font-family:Courier New;font-size:10pt;color:#333333;"&gt;…&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-size:10pt;"&gt;This technique is fast and efficient, and avoids the overheads of handling associated objects and of loading large numbers of persistent objects into the Hibernate session cache. The only downside is the need to create a dedicated data-transfer class for each query, and an overloaded constructor.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p style="background: white;"&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;span style="font-family:Calibri;"&gt;Reference: &lt;a href="http://www.javalobby.org/articles/hibernate-query-101/"&gt;&lt;span style="  text-decoration: underline;font-size:13pt;color:blue;"&gt;http://www.javalobby.org/articles/hibernate-query-101/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-3261927927856438179?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/3261927927856438179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=3261927927856438179' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/3261927927856438179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/3261927927856438179'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2007/07/hibernate-querying-optimization-hql.html' title='Hibernate Querying Optimization - HQL with joins'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-8979472859509082298</id><published>2007-07-24T08:55:00.000-07:00</published><updated>2007-07-24T08:57:27.220-07:00</updated><title type='text'>Inheritance Relation in Hibernate - Multiple join load problem</title><content type='html'>&lt;p class="ecmsonormal" style="background: red none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: white;"&gt;The Problem&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;Suppose we have class &lt;b&gt;User&lt;/b&gt; which is the super class for all kind of Users, and we have these subclasses that inherit from &lt;b&gt;User&lt;/b&gt; class:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: rgb(51, 51, 51);"&gt;ü&lt;/span&gt;&lt;span style="font-size: 7pt; color: rgb(51, 51, 51);"&gt;&lt;span style="font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;EmployeeUser&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: rgb(51, 51, 51);"&gt;ü&lt;/span&gt;&lt;span style="font-size: 7pt; color: rgb(51, 51, 51);"&gt;&lt;span style="font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;StudentUser&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: rgb(51, 51, 51);"&gt;ü&lt;/span&gt;&lt;span style="font-size: 7pt; color: rgb(51, 51, 51);"&gt;&lt;span style="font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;TeacherUser&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: rgb(51, 51, 51);"&gt;ü&lt;/span&gt;&lt;span style="font-size: 7pt; color: rgb(51, 51, 51);"&gt;&lt;span style="font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;MerchantUser&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: rgb(51, 51, 51);"&gt;ü&lt;/span&gt;&lt;span style="font-size: 7pt; color: rgb(51, 51, 51);"&gt;&lt;span style="font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;VoucherUser &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;The &lt;b&gt;User&lt;/b&gt; class is &lt;b&gt;&lt;u&gt;NOT&lt;/u&gt;&lt;/b&gt; abstract class, and many methods are implemented in it… &lt;b&gt;&lt;i&gt;keep in mind &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: rgb(51, 51, 51);"&gt;J&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;How to present this in Hibernate?&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;All of them will be presented in &lt;b&gt;User.hbm.xml&lt;/b&gt; like this:&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;class &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"...User"&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;id &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"id"/&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;property ...&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;... All the properties in &lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;User&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; class&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;joined-subclass &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"EmployeeUser"&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;key &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;column&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"ID" &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;property &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; ...&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;... All the properties in &lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;EmployeeUser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; class&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;joined-subclass&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;...All the other subclasses&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;/class&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;Simple!!&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;After&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt; running the application, Hibernate will create the database schema... &lt;b&gt;&lt;i&gt;Nothing new Sami!!??    I know &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: rgb(51, 51, 51);"&gt;J&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;Let’s say now you want to implement the Login action for example, userName and password is in &lt;b&gt;User&lt;/b&gt; class&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;What you will do is something like this:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; font-size: 10pt; font-family: Verdana; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;//Code to check username and password that user entered in the login screen&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; font-size: 10pt; font-family: Verdana; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Session session =&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; font-size: 10pt; font-family: Verdana; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;getSession();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: silver none repeat scroll 0% 50%; font-size: 10pt; font-family: Verdana; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Integer count = (Integer) session.createQuery("select count(*) from User where username = :NAME and password = :PASSWORD").setString("NAME", userName).setString("PASSWORD", password).uniqueResult(); &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;Don’t tell me Sami that the login action is just 6 lines, impossible &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: black;"&gt;L&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;After doing this you will go to your team leader&lt;b&gt; &lt;/b&gt;or Manager and tell him that you have done the project and you are ready to be team leader… &lt;b&gt;&lt;i&gt;Just Joking &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: black;"&gt;J&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;But unfortunately, the code you have written is a disaster… &lt;b&gt;&lt;i&gt;Yes, and you are fired out your company&lt;/i&gt;&lt;/b&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: black;"&gt;L&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;Look at the Hibernate generated query, you will see a very big query that you haven’t ever seen in your life, and it will be like this:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;select count (*) from USER &lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;inner join EMPLOYEE ON &lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;USER.ID=&lt;/span&gt;&lt;/span&gt; EMPLOYEE&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;.ID&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(51, 51, 51);"&gt;-----------------&lt;b&gt;1&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;inner join STUDENT ON &lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;USER.ID=&lt;/span&gt;&lt;/span&gt; STUDENT&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;.ID&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(51, 51, 51);"&gt;-------------------2&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;inner join TEACHER ON &lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;USER.ID=&lt;/span&gt;&lt;/span&gt; TEACHER&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;.ID&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(51, 51, 51);"&gt;------------------&lt;b&gt;-3&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;inner join MERCHANT ON &lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;USER.ID=&lt;/span&gt;&lt;/span&gt; MERCHANT&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;.ID&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(51, 51, 51);"&gt;-----------------&lt;b&gt;4&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;inner join VOUCHER ON &lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;USER.ID=&lt;/span&gt;&lt;/span&gt; VOUCHER&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;span style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;.ID&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(51, 51, 51);"&gt;------------------&lt;b&gt;-5 &lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(51, 51, 51);"&gt;Five inner joins for checking username and password that stored in the USER table... &lt;b&gt;&lt;i&gt;What you were thinking about when you wrote this?&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(51, 51, 51);"&gt;This is a big problem, because if three users for example login at the same time, a very huge database load will fly!!&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="background: green none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: white;"&gt;Solution&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: Verdana; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Using&lt;/span&gt;&lt;/b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: Verdana; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;/span&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;discriminator&gt; Hibernate tag&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;You can tell Hibernate that when you want a data for any subclass stored in the superclass, don’t “YA” Hibernate make any extra join that I don’t need, in other words: get the subclass from the superclass.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;You will not change anything in your java code; all the changes will be in &lt;b&gt;User.hbm.xml&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 51, 51);"&gt;Change hibernate configuration file to something like this after we take the User.hbm.xml for our example:&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;class &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"...User"&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;id &lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"id"/&lt;/span&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;property ...&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;... All the properties in &lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;User&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; class&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;discriminator &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;column&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"USER_TYPE" &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"string" &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;length&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"15" &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;not-null&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"false" &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;force&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;subclass &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;name=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"EmployeeUser" &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;discriminator-value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"EMPLOYEE"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;join &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;table&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"EMPLOYEE_USER" &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;fetch&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"select"&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;key &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;column&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"ID" &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;property &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; ...&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;... All the properties in &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;EmployeeUser&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; class&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;/&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;join&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;/&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;subclass&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;subclass &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;name=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"StudentUser" &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;discriminator-value&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"STUDENT"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;join &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;table&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"STUDENT_USER" &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;fetch&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;=&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"select"&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;key &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;column&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;"ID" &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;property &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; ...&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 1in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;... All the properties in &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;StudentUser&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt; class&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;/&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;join&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&lt;/&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;subclass&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="background: white none repeat scroll 0% 50%; font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="text-indent: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;...All the other subclasses and for each one of them don’t forget the &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;discriminator-value&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;/class&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;After doing this you have to restart the project and let Hibernate to alter the database to reflect the changes you made, and after that you and after running your big project (Login screen project) look at the hibernate sql generated query, it will be like this:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;select count (*) from USER &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;where USER.&lt;b&gt;USER_TYPE&lt;/b&gt; in (&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 102, 0);"&gt;‘STUDENT’, ‘EMPLOYEE’, ‘TEACHER’, ‘MERCHANT’, ‘VOUCHER’&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt; These are the &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 127);"&gt;discriminator-value&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt; for each subclass&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(255, 102, 0);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt; &lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;No inner join at all &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; font-size: 10pt; font-family: Wingdings; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="-moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; background-attachment: scroll;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal" style="background: rgb(153, 204, 255) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: blue;"&gt;Conclusion&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;One of the best practices in Hibernate says that:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;When you have to implement inheritance tree in Hibernate, what is the kind of the superclass? What is the behavior of this superclass and its subclasses?&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="ecmsonormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;If the superclass is not abstract class, and many methods for subclasses are implemented in the superclass, and the superclass tasks are more than it subclasses tasks, then you have to use &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 127);"&gt;discriminator&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(63, 127, 127);"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;to get the subclasses from the superclass and decrease the database load.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-8979472859509082298?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/8979472859509082298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=8979472859509082298' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/8979472859509082298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/8979472859509082298'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2007/07/inheritance-relation-in-hibernate_24.html' title='Inheritance Relation in Hibernate - Multiple join load problem'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8447974778861819936.post-6107752011587283733</id><published>2007-07-22T04:38:00.001-07:00</published><updated>2007-07-22T23:47:23.769-07:00</updated><title type='text'>XML Schema-based configuration introduced in Spring 2.0</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Problem&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;When the application server that runs our J2EE project disconnected from the internet, the project will not start and the exception below occurred: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#666666;"&gt;org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/beans/spring-beans-2.0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not ...&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Research&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;In our J2EE project, we used spring frame work to handle the transaction management for some classes like &lt;strong&gt;MockGMMManager&lt;/strong&gt; for example&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Spring frame work runs when the deployed project on the server initialized&lt;br /&gt;&lt;u&gt;&lt;em&gt;Spring frame work Default behavior:&lt;/em&gt;&lt;/u&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Spring frame work will read in some point this file &lt;strong&gt;mockApplicationContext.xml&lt;/strong&gt; "For example" to load the &lt;strong&gt;MockGMMManager&lt;/strong&gt; "For example" class in spring container&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;mockApplicationContext.xml&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;You will find this in teh file&lt;br /&gt;...&lt;br /&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;em&gt;DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "&lt;/em&gt;&lt;/span&gt;&lt;a href="http://www.springframework.org/dtd/spring-beans-2.0.dtd"&gt;&lt;span style="font-family:courier new;font-size:130%;"&gt;&lt;em&gt;http://www.springframework.org/dtd/spring-beans-2.0.dtd&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:130%;"&gt;&lt;em&gt;"&gt;&lt;beans&gt;&lt;bean class="org.springframework.context.support.ResourceBundleMessageSource" id="messageSource"&gt;&lt;list&gt;&lt;value&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/beans&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;&lt;/bean&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;NOTE:&lt;/span&gt;&lt;/strong&gt; The Spring frame work need’s XML schema definition file to read this xml file It will request this XSD from &lt;/span&gt;&lt;a title="http://www.springframework.org/dtd/spring-beans-2.0.dtd" href="http://www.springframework.org/dtd/spring-beans-2.0.dtd"&gt;&lt;span style="font-family:courier new;font-size:85%;color:#006600;"&gt;http://www.springframework.org/dtd/spring-beans-2.0.dtd&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;and this is our problem!&lt;/span&gt;&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;u&gt;When there is no internet connection, spring frame work will not be able to read this file and will throw &lt;/u&gt;&lt;span style="font-family:courier new;"&gt;&lt;u&gt;org.xml.sax.SAXParseException&lt;/u&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;Solution&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;We should change this default behavior by locating the required XSD file locally from our server not remotely &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;1. Download the latest spring updates (spring-framework-2.0.6) &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;2. Put the new spring.jar in the project classpath &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;3. Create these files: &lt;/strong&gt;&lt;br /&gt;- \META-INF\spring.handlers&lt;br /&gt;- \META-INF\spring.schemas&lt;br /&gt;These files not required, but spring frame work will search for them in \META-INF\ folder by default to locate the required XSD’s and if they are not exist, it will locate them from the URL in &lt;strong&gt;mockApplicationContext.xml &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;"You can get a copy of spring.handlers and spring.schemas files in Spring-framework-2.0.6 package after you download it, just copy and paste"&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Open spring.schemas you will find this:&lt;/u&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#006600;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#006600;"&gt;&lt;strong&gt;...&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#006600;"&gt;&lt;strong&gt;http\://&lt;span style="color:#ff0000;"&gt;www.springframework.org/schema/beans/spring-beans-2.0.xsd&lt;/span&gt;=org/springframework/beans/factory/xml/spring-beans-2.0.xsd&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;This is one of the required XSD files spring-beans-2.0.xsd, if you open spring.jar you will see this file in &lt;strong&gt;org/springframework/beans/factory/xml/&lt;/strong&gt; The red text is the name for the schema location, and you will use in mockApplicationContext.xml&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The rest of the file ...&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#c0c0c0;"&gt;http\://www.springframework.org/schema/tool/spring-tool-2.0.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd http\://www.springframework.org/schema/util/spring-util-2.0.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd http\://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd http\://www.springframework.org/schema/lang/spring-lang-2.0.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd http\://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd http\://www.springframework.org/schema/jee/spring-jee-2.0.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd http\://www.springframework.org/schema/beans/spring-beans.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd http\://www.springframework.org/schema/tool/spring-tool.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd http\://www.springframework.org/schema/util/spring-util.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd http\://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-2.0.xsd http\://www.springframework.org/schema/lang/spring-lang.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd http\://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd http\://www.springframework.org/schema/jee/spring-jee.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Change the mockApplicationContext.xml to be like this: &lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;/span&gt;&lt;strong&gt;Remove this:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "&lt;a href="http://www.springframework.org/dtd/spring-beans-2.0.dtd"&gt;http://www.springframework.org/dtd/spring-beans-2.0.dtd&lt;/a&gt;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#000000;"&gt;&lt;beans xmlns=""&gt;&lt;/span&gt;&lt;a href="http://www.springframework.org/schema/beans"&gt;&lt;span style="font-family:courier new;color:#000000;"&gt;&lt;strong&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Put these inside the beans tag&lt;br /&gt;&lt;span style="font-family:courier new;color:#000000;"&gt;&lt;beans xmlns=""&gt;&lt;/span&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;xmlns="&lt;a href="http://www.springframework.org/schema/beans"&gt;http://www.springframework.org/schema/beans&lt;/a&gt;" xmlns:xsi="&lt;a href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;"  &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;xsi:schemaLocation="&lt;a href="http://www.springframework.org/schema/beans"&gt;http://www.springframework.org/schema/beans&lt;/a&gt;  &lt;a href="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"&gt;http://www.springframework.org/schema/beans/spring-beans-2.0.xsd&lt;/a&gt;"&lt;br /&gt;&lt;bean class="com.hmc.gmm.mock.processors.MockGMMManager" name="gmmManager"&gt;&lt;br /&gt;&lt;/bean&gt;&lt;/span&gt;&lt;/beans&gt;&lt;strong&gt;4. Try to disconnect the server from the internet to test the solution&lt;br /&gt;5. Restart the application server&lt;br /&gt;6. Redeploy the project&lt;br /&gt;&lt;br /&gt;You will not see the exception and the project will be started :-) &lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8447974778861819936-6107752011587283733?l=samialsayyed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samialsayyed.blogspot.com/feeds/6107752011587283733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8447974778861819936&amp;postID=6107752011587283733' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/6107752011587283733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8447974778861819936/posts/default/6107752011587283733'/><link rel='alternate' type='text/html' href='http://samialsayyed.blogspot.com/2007/07/xml-schema-based-configuration.html' title='XML Schema-based configuration introduced in Spring 2.0'/><author><name>Sami AlSayyed</name><uri>http://www.blogger.com/profile/06988294890375812334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
