Author: steve.ebersole(a)jboss.com
Date: 2007-10-02 23:51:13 -0400 (Tue, 02 Oct 2007)
New Revision: 14051
Modified:
core/branches/Branch_3_2/src/org/hibernate/hql/ast/tree/FromClause.java
core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/JPAQLComplianceTest.java
Log:
HHH-2159 : NullPointerException in
FromElement#findIntendedAliasedFromElementBasedOnCrazyJPARequirements
Modified: core/branches/Branch_3_2/src/org/hibernate/hql/ast/tree/FromClause.java
===================================================================
--- core/branches/Branch_3_2/src/org/hibernate/hql/ast/tree/FromClause.java 2007-10-03
03:50:47 UTC (rev 14050)
+++ core/branches/Branch_3_2/src/org/hibernate/hql/ast/tree/FromClause.java 2007-10-03
03:51:13 UTC (rev 14051)
@@ -85,13 +85,14 @@
}
void addDuplicateAlias(String alias, FromElement element) {
- fromElementByClassAlias.put( alias, element );
+ if ( alias != null ) {
+ fromElementByClassAlias.put( alias, element );
+ }
}
private void checkForDuplicateClassAlias(String classAlias) throws SemanticException {
if ( classAlias != null && fromElementByClassAlias.containsKey( classAlias ) )
{
- throw new SemanticException( "Duplicate definition of alias '"
- + classAlias + "'" );
+ throw new SemanticException( "Duplicate definition of alias '" +
classAlias + "'" );
}
}
Modified:
core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/JPAQLComplianceTest.java
===================================================================
---
core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/JPAQLComplianceTest.java 2007-10-03
03:50:47 UTC (rev 14050)
+++
core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/JPAQLComplianceTest.java 2007-10-03
03:51:13 UTC (rev 14051)
@@ -41,6 +41,12 @@
s.close();
}
+ public void testIdentifierCasesensitivityAndDuplicateFromElements() throws Exception {
+ Session s = openSession();
+ s.createQuery( "select e from MyEntity e where exists (select 1 from MyEntity e2
where e2.other.name = 'something' and e2.other.other = e)" );
+ s.close();
+ }
+
public void testGeneratedSubquery() {
Session s = openSession();
s.createQuery( "select c FROM Item c WHERE c.parts IS EMPTY" ).list();
Show replies by date