[hibernate-issues] [Hibernate-JIRA] Created: (HHH-5117) HQL Query containing joins does not work
Thierry Brunet (JIRA)
noreply at atlassian.com
Wed Apr 14 11:12:58 EDT 2010
HQL Query containing joins does not work
----------------------------------------
Key: HHH-5117
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5117
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.0-Final
Environment: Eclipse
java.vendor=Sun Microsystems Inc., env.SESSION_MANAGER=local/tb-it-scape:@/tmp/.ICE-unix/2248,unix/tb-it-scape:/tmp/.ICE-unix/2248, localRepository=/home/thierry/.m2/repository, sun.java.launcher=SUN_STANDARD, hibernate.connection.url=jdbc:mysql://localhost:3306/IT_Scape, sun.management.compiler=HotSpot Client Compiler, os.name=Linux, persistence.pojo.xmlfilelist=src/test/resources/PojoList.xml, sun.boot.class.path=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/classes, env.PWD=/home/thierry, env.XDG_SESSION_COOKIE=b905806326f11e0b772623114a1c05da-1271232614.772432-144904942, sun.desktop=gnome, env.LANG=en_US.UTF-8, java.vm.specification.vendor=Sun Microsystems Inc., java.runtime.version=1.6.0_16-b01, env.DISPLAY=:0.0, hibernate.cache.provider_class=${hibernate.cache.provider_class}, user.name=thierry, env.USER=thierry, env.SHELL=/bin/bash, env.MOZILLA_FIVE_HOME=/usr/lib/xulrunner-addons, env.DESKTOP_SESSION=gnome, env.XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/, env.NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat, env.PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games, user.language=en, sun.boot.library.path=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386, classworlds.conf=/home/thierry/workspace/.metadata/.plugins/org.maven.ide.eclipse/launches/m2conf8195292387699736565.tmp, java.version=1.6.0_16, user.timezone=Europe/Paris, env.DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-K4MHiUhcae,guid=01640d0f119ca6a1030375b74bc57868, sun.arch.data.model=32, env.SSH_AGENT_PID=2293, java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/endorsed, sun.cpu.isalist=, sun.jnu.encoding=UTF-8, file.encoding.pkg=sun.io, file.separator=/, java.specification.name=Java Platform API Specification, hibernate.format_sql=false, env.GDMSESSION=gnome, env.GNOME_DESKTOP_SESSION_ID=this-is-deprecated, java.class.version=50.0, env.GDM_KEYBOARD_LAYOUT=fr, persistence.pojo.view.creator=com.itscape.persistence.view.mysql.ViewCreatorImpl, env.GNOME_KEYRING_PID=2233, user.country=US, java.home=/usr/lib/jvm/java-6-sun-1.6.0.16/jre, java.vm.info=mixed mode, sharing, env.LOGNAME=thierry, os.version=2.6.31-20-generic, path.separator=:, java.vm.version=14.2-b01, hibernate.connection.password=passwd, java.awt.printerjob=sun.print.PSPrinterJob, sun.io.unicode.encoding=UnicodeLittle, hibernate.connection.username=itscape, env.GDM_LANG=en_US.UTF-8, user.home=/home/thierry, java.specification.vendor=Sun Microsystems Inc., hibernate.hbm2ddl.auto=update, java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/../lib/i386:/usr/lib/xulrunner-addons:/usr/java/packages/lib/i386:/lib:/usr/lib, java.vendor.url=http://java.sun.com/, hibernate.connection.driver_class=com.mysql.jdbc.Driver, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=org.hibernate.dialect.MySQLDialect, maven.home=/opt/apache-maven-2.2.1, java.runtime.name=Java(TM) SE Runtime Environment, java.class.path=/opt/apache-maven-2.2.1/boot/classworlds-1.1.jar, env.XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt, java.vm.specification.name=Java Virtual Machine Specification, java.vm.specification.version=1.0, m2eclipse.workspace.state=/home/thierry/workspace/.metadata/.plugins/org.maven.ide.eclipse/workspacestate.properties, env.GTK_RC_FILES=/etc/gtk/gtkrc:/home/thierry/.gtkrc-1.2-gnome2, sun.cpu.endian=little, sun.os.patch.level=unknown, env.HOME=/home/thierry, surefire.test.class.path=/home/thierry/workspace/ITSCAPE/branch/IT-Scape_1_0/IT-Scape/modules/data/trunk/persistence/data-persistence/target/test-classes:/home/thierry/workspace/ITSCAPE/branch/IT-Scape_1_0/IT-Scape/modules/data/trunk/persistence/data-persistence/target/classes:/home/thierry/workspace/ITSCAPE/branch/IT-Scape_1_0/IT-Scape/modules/data/trunk/persistence/model/target/model.jar:/home/thierry/workspace/ITSCAPE/branch/IT-Scape_1_0/IT-Scape/modules/data/trunk/model-serializer/target/model-serializer.jar:/home/thierry/.m2/repository/org/hibernate/hibernate-core/3.5.0-Final/hibernate-core-3.5.0-Final.jar:/home/thierry/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar:/home/thierry/.m2/repository/commons-collections/commons-collections/3.1/commons-collections-3.1.jar:/home/thierry/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/home/thierry/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar:/home/thierry/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar:/home/thierry/.m2/repository/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar:/home/thierry/.m2/repository/org/hibernate/hibernate-annotations/3.5.0-Final/hibernate-annotations-3.5.0-Final.jar:/home/thierry/.m2/repository/org/hibernate/hibernate-commons-annotations/3.2.0.Final/hibernate-commons-annotations-3.2.0.Final.jar:/home/thierry/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.0.Final/hibernate-jpa-2.0-api-1.0.0.Final.jar:/home/thierry/.m2/repository/javassist/javassist/3.8.0.GA/javassist-3.8.0.GA.jar:/home/thierry/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/home/thierry/.m2/repository/org/json/json/20090211/json-20090211.jar:/home/thierry/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar:/home/thierry/.m2/repository/org/apache/felix/org.osgi.core/1.0.0/org.osgi.core-1.0.0.jar:/home/thierry/.m2/repository/org/slf4j/slf4j-log4j12/1.5.10/slf4j-log4j12-1.5.10.jar:/home/thierry/workspace/ITSCAPE/branch/IT-Scape_1_0/IT-Scape/modules/data/trunk/keystore/target/keystore.jar:/home/thierry/.m2/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar:/home/thierry/.m2/repository/org/testng/testng/5.10/testng-5.10-jdk15.jar:/home/thierry/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/home/thierry/.m2/repository/org/osgi/osgi_R4_core/1.0/osgi_R4_core-1.0.jar:/home/thierry/.m2/repository/org/osgi/osgi_R4_compendium/1.0/osgi_R4_compendium-1.0.jar:, env.LD_LIBRARY_PATH=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/../lib/i386:/usr/lib/xulrunner-addons, java.io.tmpdir=/tmp, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, env.SSH_AUTH_SOCK=/tmp/keyring-D2aK63/socket.ssh, os.arch=i386, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, java.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/ext:/usr/java/packages/lib/ext, env.XAUTHORITY=/var/run/gdm/auth-for-thierry-4zaQj6/database, user.dir=/home/thierry/workspace/ITSCAPE/branch/IT-Scape_1_0/IT-Scape/modules/data/trunk/persistence/data-persistence, env.SPEECHD_PORT=7560, env.GTK_MODULES=canberra-gtk-module, line.separator=
, java.vm.name=Java HotSpot(TM) Client VM, basedir=/home/thierry/workspace/ITSCAPE/branch/IT-Scape_1_0/IT-Scape/modules/data/trunk/persistence/data-persistence, hibernate.cache.use_second_level_cache=false, env.ORBIT_SOCKETDIR=/tmp/orbit-thierry, env.USERNAME=thierry, env.GNOME_KEYRING_SOCKET=/tmp/keyring-D2aK63/socket, file.encoding=UTF-8, env.GPG_AGENT_INFO=/tmp/seahorse-YD55iC/S.gpg-agent:2316:1, java.specification.version=1.6, hibernate.connection.isolation=2, hibernate.connection.pool_size=10, hibernate.show_sql=false}
SLF4
Reporter: Thierry Brunet
Priority: Critical
I am working on upgrading of my application from Hibernate 3.3.2.GA to 3.5.0 Hibernate final release.
The HQL queries, which contain associations and joins like for instance
"select ds, mgtrela,element from DataSource join ds.management as mgtrela Join mgtrela.managedElement as element",
do not work.
I have got the following exception
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2297)
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 com.itscape.persistence.event.PersistenceManagerEventTest.test1a_BulkInsert(PersistenceManagerEventTest.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:609)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:532)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:686)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1018)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:128)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.runWorkers(TestRunner.java:759)
at org.testng.TestRunner.privateRun(TestRunner.java:592)
at org.testng.TestRunner.run(TestRunner.java:486)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:332)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:327)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:299)
at org.testng.SuiteRunner.run(SuiteRunner.java:204)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:912)
at org.testng.TestNG.runSuitesLocally(TestNG.java:876)
at org.testng.TestNG.run(TestNG.java:784)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:74)
at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
Caused by: java.sql.SQLException: Column 'OSCatalo1_7_2_' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1093)
at com.mysql.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:2942)
at org.hibernate.type.LongType.get(LongType.java:51)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:173)
at org.hibernate.type.AbstractType.hydrate(AbstractType.java:105)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2267)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1423)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1351)
at org.hibernate.loader.Loader.getRow(Loader.java:1251)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:619)
at org.hibernate.loader.Loader.doQuery(Loader.java:745)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
at org.hibernate.loader.Loader.doList(Loader.java:2294)
... 37 more
My model contains the annotation
@Entity
@Table(name = "core_element"
, uniqueConstraints= @UniqueConstraint(columnNames={ "EId"})
)
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Element implements Serializable{
..}
@Entity
@Table(name = "core_item")
@Inheritance(strategy = InheritanceType.JOINED)
abstract public class Item extends Element {
}
@MappedSuperclass
public abstract class System extends Item
public void setOSCatalogId(long OSCatalogId) {
this.OSCatalogId = OSCatalogId;
}
public long getOSCatalogId() {
return OSCatalogId;
}
}
Entity
@Table(name = "core_computersystem")
@Inheritance(strategy = InheritanceType.JOINED)
public class ComputerSystem extends System {
}
Remark, my application works correctly with hibernate 3.3.2 GA.
I must pass about 300 unit tests in front of hibernate 3.5.0 so that I can adopt it
--
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