<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <base href="https://hibernate.atlassian.net" />
<title>Message Title</title>
</head>
<body class="jira" style="color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<!-- header here -->
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="https://secure.gravatar.com/avatar/8e505cd452c21a4a81a29ca20c8f5368?d=mm&s=48" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" />
</td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="ghu" id="email_ghu" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=ghu" style="color:#6c797f;; color: #3b73af; text-decoration: none">Gary Hu</a> <strong>created</strong> an issue
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate">
<tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly">
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="page-title-pattern-first-line " style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="https://hibernate.atlassian.net/browse/HHH" style="color: #3b73af; text-decoration: none">Hibernate ORM</a> / <a href="https://hibernate.atlassian.net/browse/HHH-9256" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-static-bug-bee892c0-5eec-41c0-9df8-535bd1a55eda" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /></a> <a href="https://hibernate.atlassian.net/browse/HHH-9256" style="color: #3b73af; text-decoration: none">HHH-9256</a>
</td>
</tr>
<tr>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HHH-9256" style="color: #3b73af; text-decoration: none">Receiving "Error in named query: org.hibernate.QueryException: could not resolve property xxx" if annotating on property not on field</a> </span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand wrapper-special-margin" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 10px; padding-bottom: 5px">
<table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Issue Type:
</th>
<td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-bug-bee892c0-5eec-41c0-9df8-535bd1a55eda" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /> Bug
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Assignee:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
Unassigned
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Components:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
core
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Created:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
23/Jun/14 2:10 PM
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Priority:
</th>
<td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-major-381f4921-e391-490b-9eac-0360f1014b10" height="16" width="16" border="0" align="absmiddle" alt="Major" style="vertical-align: text-bottom" /> Major
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Reporter:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="ghu" id="email_ghu" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=ghu" style="color:#6c797f;; color: #3b73af; text-decoration: none">Gary Hu</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand issue-description-container" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 5px; padding-bottom: 10px">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0">
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">The following error occurs in @NamedQuery if the annotations are put on property(getter) not on the field(member variable).</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">ERROR org.hibernate.internal.SessionFactoryImpl - HHH000177: Error in named query: myNamedQuery<br /> org.hibernate.QueryException: could not resolve property: xxx of: xxxx <span class="error">[from EntityA a where a.entityB.someId = :someId ]</span><br /> at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:83)<br /> at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:77)<br /> at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1968)<br /> at org.hibernate.hql.internal.ast.tree.FromElementType.getPropertyType(FromElementType.java:313)<br /> at org.hibernate.hql.internal.ast.tree.FromElement.getPropertyType(FromElement.java:490)<br /> at org.hibernate.hql.internal.ast.tree.DotNode.getDataType(DotNode.java:616)<br /> at org.hibernate.hql.internal.ast.tree.DotNode.prepareLhs(DotNode.java:267)<br /> at org.hibernate.hql.internal.ast.tree.DotNode.resolve(DotNode.java:214)<br /> at org.hibernate.hql.internal.ast.tree.DotNode.resolveFirstChild(DotNode.java:178)<br /> at org.hibernate.hql.internal.ast.HqlSqlWalker.lookupProperty(HqlSqlWalker.java:578)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.addrExpr(HqlSqlBaseWalker.java:4719)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1260)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4426)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3898)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2076)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:794)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:595)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:299)<br /> at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:247)<br /> at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:250)<br /> at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)<br /> at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:138)<br /> at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:105)<br /> at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80)<br /> at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168)<br /> at org.hibernate.internal.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:1083)<br /> at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:520)<br /> at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1794)</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">example java source code:</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">@Entity<br /> @Table(name="ENTITY_A")<br /> @NamedQuery(name="getEntityBById",<br /> query = "from EntityA s where s.entityB.entityBId = :entityBId")<br /> public class EntityA implements Serializable{</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"> private Long entityAId;</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"> @SequenceGenerator( allocationSize=1, name="ENTITY_A", sequenceName="ENTITY_A_SEQ" )<br /> @GeneratedValue( strategy=GenerationType.SEQUENCE, generator="ENTITY_A")<br /> @Id @Column(name="ENTITY_A_ID")<br /> public Long getEntityAId() </p> { return this.entityAId; }<br /> <br /> public void setEntityAId(Long entityAId) { this.entityAId = entityAId; }<br /> <br /> @ManyToOne @JoinColumn(name="ENTITY_B_ID")<br /> private EntityB entityB;<br /> <br /> public EntityB getEntityB() { return this.entityB; }<br /> <br /> public void setEntityB(EntityB entityB) { this.entityB = entityB; }<br /> }<br /> <br /> <br /> @Entity<br /> @Table(name="ENTITY_B")<br /> public class EntityB implements Serializable{<br /> <br /> @SequenceGenerator( allocationSize=1, name="ENTITY_B", sequenceName="ENTITY_B_SEQ" )<br /> @GeneratedValue( strategy=GenerationType.SEQUENCE, generator="ENTITY_B")<br /> @Id @Column(name="ENTITY_B_ID")<br /> private Long entityBId;<br /> <br /> public Long getEntityBId() { return this.entityBId; }<br /> <br /> public void setEntityBId(Long entityBId) { this.entityBId = entityBId; }<br /> <br /> @Column(name="ENTITY_NAME")<br /> private String entityName;<br /> public String getEntityName() { return this.entityName; }<br /> public void setEntityName(String entityName) { this.entityName = entityName; }<br /> <br /> }<br /> <br /> <br /> The error pops up when trying to build the sessionFactory:<br /> <br /> Configuration configuration = new Configuration().configure();<br /> serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();<br /> sessionFactory = configuration.buildSessionFactory(serviceRegistry);<br /> <br /> <br /> <br /> If I change the code EntityA to the following the error is gone.<br /> <br /> <br /> @Entity<br /> @Table(name="ENTITY_A")<br /> @NamedQuery(name="getEntityBById",<br /> query = "from EntityA s where s.entityB.entityBId = :entityBId")<br /> public class EntityA implements Serializable{<br /> <br /> <br /> @SequenceGenerator( allocationSize=1, name="ENTITY_A", sequenceName="ENTITY_A_SEQ" )<br /> @GeneratedValue( strategy=GenerationType.SEQUENCE, generator="ENTITY_A")<br /> @Id @Column(name="ENTITY_A_ID")<br /> private Long entityAId;<br /> <br /> <br /> public Long getEntityAId() { return this.entityAId; }
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"> public void setEntityAId(Long entityAId) </p> { this.entityAId = entityAId; }
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"> @ManyToOne @JoinColumn(name="ENTITY_B_ID")<br /> private EntityB entityB;</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"> public EntityB getEntityB() </p> { return this.entityB; }
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"> public void setEntityB(EntityB entityB) </p> { this.entityB = entityB; }
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">}</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">It appears that there's discrepancy in Hibernate regarding the annotations on filed and property(getter) when interpreting the @NamedQuery. </p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HHH-9256#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-37e29655-4832-41df-b752-33b5a9e8cd21" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle" /> </a>
</td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://hibernate.atlassian.net/browse/HHH-9256#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
This message was sent by Atlassian JIRA <span id="footer-build-information">(v6.3-OD-07-013#6327-<span title="66bf7cb9930e9269cff96498083bad782dab4617" data-commit-id="66bf7cb9930e9269cff96498083bad782dab4617}">sha1:66bf7cb</span>)</span>
</td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top">
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-a4caa520-1ad0-470c-8c00-62ac645c00dd" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>