[hibernate-issues] [Hibernate-JIRA] Created: (HHH-5575) keyword end in mapped field can result to SQLERROR SQLSTATE=42702

nimo stephan (JIRA) noreply at atlassian.com
Fri Sep 17 04:58:22 EDT 2010


keyword end in mapped field can result to SQLERROR SQLSTATE=42702
-----------------------------------------------------------------

                 Key: HHH-5575
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5575
             Project: Hibernate Core
          Issue Type: Bug
         Environment: JBOSS AS 6 M4
            Reporter: nimo stephan


I have a property "end" which is mapped as a column:

@Entity
public class Times implements Serializable{

@Id
private Integer idTimes;
..

// TODO: DO NOT USE "END" it can return a JPA-Bug !! SQLSTATE=42702
@Temporal(TemporalType.TIMESTAMP)
private Date end;
..

@OneToMany(mappedBy = "leadTime", fetch=FetchType.EAGER)
private Set<OtherTimes> otherTimes;
..

}

which has a relation to OtherTimes:

public class OtherTimes implements Serializable{

@Id
private Integer idOtherTimes;
..

// TODO: DO NOT USE "END" it can return a JPA-Bug !! SQLSTATE=42702
@Temporal(TemporalType.TIMESTAMP)
private Date end;
..

..

}

Now, I want to retrieve times via "myBean.getTimes()". Hibernate generates this query which brings a SQL-ERROR:

select
times0_.ID as ID1_18_3_,
end as end18_3_,
end as end8_0_,
othertimes0_.ID as ID4_8_0_,
 from
SCHEMA.TIMES times0_ 
 left outer join
 SCHEMA.OTHERTIMES othertimes1_ 
on times0_.IDTIMES=othertimes0.ID_TIMES
where
times0_.IDTIMES=?


It throws this exception:

Caused by: org.hibernate.exception.SQLGrammarException: could not load an entity: [com.Times#1]
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1937)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.EntityLoader.loadByUniqueKey(EntityLoader.java:160)
	at org.hibernate.persister.entity.AbstractEntityPersister.loadByUniqueKey(AbstractEntityPersister.java:1777)
	at org.hibernate.type.EntityType.loadByUniqueKey(EntityType.java:674)
	at org.hibernate.type.EntityType.resolve(EntityType.java:434)
	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:140)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:898)
	at org.hibernate.loader.Loader.doQuery(Loader.java:773)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1933)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3270)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:285)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1080)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:1028)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:623)
	at org.hibernate.type.EntityType.resolve(EntityType.java:431)
	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:140)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:898)
	at org.hibernate.loader.Loader.doQuery(Loader.java:773)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
	at org.hibernate.loader.Loader.doList(Loader.java:2294)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172)
	at org.hibernate.loader.Loader.list(Loader.java:2167)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:241)
	... 182 more
Caused by: com.ibm.db2.jcc.b.nm: DB2 SQL Error: SQLCODE=-203, SQLSTATE=42702, SQLERRMC=END, DRIVER=3.50.152
	at com.ibm.db2.jcc.b.wc.a(wc.java:579)
	at com.ibm.db2.jcc.b.wc.a(wc.java:57)
	at com.ibm.db2.jcc.b.wc.a(wc.java:126)
	at com.ibm.db2.jcc.b.tk.c(tk.java:1901)
	at com.ibm.db2.jcc.b.tk.d(tk.java:1889)
	at com.ibm.db2.jcc.b.tk.a(tk.java:1416)
	at com.ibm.db2.jcc.t4.db.g(db.java:138)
	at com.ibm.db2.jcc.t4.db.a(db.java:38)
	at com.ibm.db2.jcc.t4.t.a(t.java:32)
	at com.ibm.db2.jcc.t4.sb.h(sb.java:141)
	at com.ibm.db2.jcc.b.tk.N(tk.java:1387)
	at com.ibm.db2.jcc.b.uk.Kb(uk.java:2461)
	at com.ibm.db2.jcc.b.uk.e(uk.java:3101)
	at com.ibm.db2.jcc.b.uk.yb(uk.java:535)
	at com.ibm.db2.jcc.b.uk.executeQuery(uk.java:509)
	at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)
	at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
	at org.hibernate.loader.Loader.getResultSet(Loader.java:1849)
	at org.hibernate.loader.Loader.doQuery(Loader.java:718)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1933)


So you see, instead of using this:

times0_.end as end18_3_,
othertimes0_.end as end8_0_,

Hibernate uses this:

end as end18_3_,
end as end8_0_,

which leads to a conflict!

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list