[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1836) .class parameter in HQL query not converted into discriminator value properly
Stian Lindhom (JIRA)
noreply at atlassian.com
Wed Aug 8 10:03:13 EDT 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_27774 ]
Stian Lindhom commented on HHH-1836:
------------------------------------
This is also a problem when using named parameters, ie:
"from Item i where i.class = com.Item" will work
"from Item i where i.class = :clazz" and .setParameter("clazz", "com.Item") or .setParameter("clazz", Item.class) will not work (it will try to cast the String or Class to an Integer).
Hibernate 3.2.1.ga
> .class parameter in HQL query not converted into discriminator value properly
> -----------------------------------------------------------------------------
>
> Key: HHH-1836
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1836
> Project: Hibernate3
> Issue Type: Bug
> Components: query-hql
> Affects Versions: 3.0.5
> Environment: Win XP SP2, Hibernate 3.0.5, Sun Java 1.5.0_06
> Reporter: Ignat Zapolsky
>
> Hello!
> I have following problem:
> when using HQL query
> "select item.id, item.name from Item as item where item.class = ?"
> and trying to use clause Query.setParameter (0, SubItem.class)
> I am getting following exception from underlying database since hibernate doese not properly convert parameter into associated discriminator value:
> 2006-06-14 15:04:30,828 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: -16, SQLState: 37000>
> 2006-06-14 15:04:30,828 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: -16, SQLState: 37000>
> 2006-06-14 15:04:30,843 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Wrong data type: For input string: "Item">
> 2006-06-14 15:04:30,843 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Wrong data type: For input string: "Item">
> org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select abstractco0_.id as col_0_0_, abstractco0_.name as col_1_0_ from TABLE abstractco0_ where abstractco0_.type=?]; SQL state [37000]; error code [-16]; Wrong data type: For input string: "Item"; nested exception is java.sql.SQLException: Wrong data type: For input string: "Item
> java.sql.SQLException: Wrong data type: For input string: "Item"
> at org.hsqldb.jdbc.Util.throwError(Unknown Source)
> at org.hsqldb.jdbc.jdbcPreparedStatement.setParameter(Unknown Source)
> at org.hsqldb.jdbc.jdbcPreparedStatement.setString(Unknown Source)
> at org.hibernate.type.StringType.set(StringType.java:24)
> at org.hibernate.type.ClassType.set(ClassType.java:35)
> at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:62)
> at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:44)
> at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1115)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1177)
> at org.hibernate.loader.Loader.doQuery(Loader.java:390)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
> at org.hibernate.loader.Loader.doList(Loader.java:1593)
> at org.hibernate.loader.Loader.list(Loader.java:1577)
> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
> at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
> Please also examine bug http://opensource.atlassian.com/projects/hibernate/browse/HHH-1749 it observes situation from discriminatort to class point of view.
> PS. There are several forum posts regarding almost same issues:
> http://forum.hibernate.org/viewtopic.php?t=956408&highlight=discriminator+hql
> http://forum.hibernate.org/viewtopic.php?t=941125&highlight=discriminator+class+name+hql
> PPS. If required I could provide sample mappings and code snippets.
--
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