<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
#email-body { min-width: 30em !important; }
#email-page { padding: 8px !important; }
#email-banner { padding: 8px 8px 0 8px !important; }
#email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
#email-fields { padding: 0 8px 8px 8px !important; }
#email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
<tr valign="top">
<td id="email-page" style="padding:16px !important;">
<table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
<tr valign="top">
<td bgcolor="#3e4c4e" style="background-color:#3e4c4e;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://www.jboss.org/dms/hibernate/images/jira/jiraheader_hibernate.png" alt="" style="vertical-align:top;" /></td>
</tr><tr valign="top">
<td id="email-banner" style="padding:32px 32px 0 32px;">
<table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
<tr valign="top">
<td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
<img id="email-avatar" src="https://secure.gravatar.com/avatar/bfda4c8ce231d748d1123620ca048231?d=mm&s=48" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
<div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
<a class="user-hover" rel="brmeyer" id="email_brmeyer" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=brmeyer" style="color:#6c797f;">Brett Meyer</a>
updated <img src="https://hibernate.atlassian.net/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#6c797f;text-decoration:none;' href='https://hibernate.atlassian.net/browse/HHH-2872'>HHH-2872</a>
</div>
<div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
<a style='color:#6c797f;text-decoration:none;' href='https://hibernate.atlassian.net/browse/HHH-2872'><strong>MappingException thrown for @ManyToOne join if table on the left of the association is alphabetically lower than table on the right </strong></a>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr valign="top">
<td id="email-fields" style="padding:0 32px 32px 32px;">
<table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
<tr valign="top">
<td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
<strong style="font-weight:normal;color:#505050;">Change By:</strong>
</td>
<td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
<a class="user-hover" rel="brmeyer" id="email_brmeyer" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=brmeyer" style="color:#6c797f;">Brett Meyer</a>
(01/May/13 2:46 PM)
</td>
</tr>
<tr valign="top">
<td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
<strong style="font-weight:normal;color:#505050;">Description:</strong>
</td>
<td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
<span class="diffcontext">I get a MappingException for @ManyToOne join if table on the left of the association is alphabetically lower than table on the right</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"> <br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"> <br><br></span>
<span class="diffcontext">I have tables VO_USER, V_ORGANIZATIONAL and VO_AREA</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">VO_USER has USR_IDR as primary key.</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">V_ORGANIZATIONAL has a composite primary key of BUSINESS_AREA_CODE and CODE</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">VO_AREA has BUS_ARA_IDR as the primary key</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">I get the following exception when I join the VO_USER table with the V_ORGANIZATIONAL table</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext"> "org.hibernate.MappingException: Unable to find column with logical name: BUSINESS_AREA_CODE in org.hibernate.mapping.Table(V_ORGANIZATIONAL_GRADE) and its related supertables and secondary tables"</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">Howerver, if I rename the table V_ORGANIZATIONAL to VO_ORGANIZATIONAL, it works fine - which makes me conclude that it is an issue with the alphabetical ordering of the tables in the association. The table name on the left side of the @ManyToOne join must be alphabetically greater than the table on the right side - perhaps of the way hibernate loads the classes ??</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"> <br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"> <br><br></span>
<span class="diffcontext">Can someone confirm that is the issue, and what is the workaround/solution as I dont want to change the name of the table</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br><br></span>
<span class="diffcontext">The simplified Code :</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br>{code}<br></span>
<span class="diffcontext">@Entity</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@org.hibernate.annotations.Entity(mutable = true)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@Table(name = "VO_USER")</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "user")</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">public class User implements Serializable</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">{</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private static final long serialVersionUID = -1894472442328538017L;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">        @Id</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        @Column(name = "USR_IDR")</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private String userId;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">        @ManyToOne</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        @JoinColumn(name = "BUS_ARA_IDR", insertable = false, updatable = false, unique = false, nullable = false)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private BusinessArea businessArea;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">        @ManyToOne(targetEntity = Organizational.class)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        @JoinColumns( {</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">                @JoinColumn(name = "BUS_ARA_IDR", referencedColumnName = "BUSINESS_AREA_CODE", unique = false, insertable = false, updatable = false, nullable=true),</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">                @JoinColumn(name = "USR_GRD", referencedColumnName = "CODE", unique = false, insertable = false, updatable = false, nullable=true)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">                        })</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private Organizational organizational;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        <br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>        <br></span>
<span class="diffcontext">        ....</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">}</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">        <br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>{code}        <br><br>{code}<br></span>
<span class="diffcontext">@Entity</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@Table(name = "V_ORGANIZATIONAL")</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@IdClass(OrganizationalKey.class)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@Cache(usage = CacheConcurrencyStrategy.READ_ONLY, region = "organization")</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">public class Organizational implements CodedValue,</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">                Comparable<Organizational>, Serializable</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">{</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private static final long serialVersionUID = 7414956278287853961L;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br><br></span>
<span class="diffcontext">        @Id</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private String code;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">        @Id</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private BusinessArea businessArea;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">        private Organizational()</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        {</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        }</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        <br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>        <br></span>
<span class="diffcontext">        ....</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">}</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>{code}<br><br>{code}<br></span>
<span class="diffcontext">public class OrganizationalKey implements Serializable</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">{</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private static final long serialVersionUID = -8022957102173252455L;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        <br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>        <br></span>
<span class="diffcontext">        @ManyToOne(targetEntity = BusinessArea.class)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        @JoinColumn(name = "BUSINESS_AREA_CODE", insertable = false, updatable = false)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private BusinessArea businessArea;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        <br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>        <br></span>
<span class="diffcontext">        @Column(name = "CODE", length = 5, insertable = false, updatable = false)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private String code;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        <br>                <br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>        <br>                <br></span>
<span class="diffcontext">        OrganizationalKey()</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        {</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        }</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        <br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>        <br></span>
<span class="diffcontext">        ....</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">}</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>{code}<br><br>{code}<br></span>
<span class="diffcontext">@Entity</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@Table(name = "VO_AREA")</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">@Cache(usage = CacheConcurrencyStrategy.READ_ONLY, region = "organization")</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">public class BusinessArea implements CodedValue, Serializable</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">{</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private static final long serialVersionUID = 6911068689852530787L;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        <br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>        <br></span>
<span class="diffcontext">        @Id</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        @Column(name = "BUS_ARA_IDR", length = 3, updatable = false)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        private String code;</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br><br></span>
<span class="diffcontext">        private BusinessArea()</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        {</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">        };</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">}</span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>{code}</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td><!-- End #email-page -->
</tr>
<tr valign="top">
<td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
This message is automatically generated by JIRA.<br />
If you think it was sent incorrectly, please contact your JIRA administrators<br />
For more information on JIRA, see: <a style='color:#6c797f;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
</td>
</tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->