org.hibernate.exception.SQLGrammarException: could not execute query

Hibernate JIRA | Dytech Solutions | 1 decade ago
  1. 0

    Summary: When executing the query "from Privilege p where :user in p.roles.users" an oracle SQLException: "missing expression" is thrown. Alternate queries were found, but this query should either work, or produce a hibernate query exception of some sort (ie malformed query, unsupported query etc), not left up to Oracle. This bug report contains: - 3 Java classes for model objects ~ TestUser.java - contains a set of TestRoles ~ TestRole.java - contains a set of TestUsers and a list of TestPrivileges ~ TestPrivilege.java - contains a set of TestRoles - 3 Hibernate mappings ~ All sets are mapped, some are inverse mappings. - 1 Hibernate configuration file ~ identifies the 3 mapping files - 1 JUnit test class with example queries ~ test1 produces invalid sql ~ test2 is valide, but unexpectedly returns no results ~ test3 is valid and returns correct results - 2 Stack traces, one from test1 and one test2 ////////////////////////////////////////////// // TestUser.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.util.HashSet; import java.util.Set; /** * A User of the system. * * @author Dytech Solutions Pty. Ltd. */ public class TestUser { Set roles; Long id; public TestUser() { roles = new HashSet(); } /** * @return Returns the id. */ public Long getId() { return id; } /** * @param id The id to set. */ public void setId(Long id) { this.id = id; } /** * @param role The role to add. */ public void addRole(TestRole role) { roles.add(role); role.getUsers().add(this); } /** * @return Returns the roles. */ public Set getRoles() { return roles; } /** * @param roles The roles to set. */ public void setRoles(Set roles) { this.roles = roles; } } ////////////////////////////////////////////// // TestRole.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.util.HashSet; import java.util.Set; /** * A role assumed by Users. * * @author Dytech Solutions Pty. Ltd. */ public class TestRole { Set privileges; Set users; Long id; public TestRole() { privileges = new HashSet(); users = new HashSet(); } /** * @return Returns the id. */ public Long getId() { return id; } /** * @param id The id to set. */ public void setId(Long id) { this.id = id; } /** * @param user The user to add. */ public void addUser(TestUser user) { user.addRole(this); } /** * @return Returns the users. */ public Set getUsers() { return users; } /** * @param users The users to set. */ public void setUsers(Set users) { this.users = users; } /** * @param privilege The pivilege to add. */ public void addPrivilege(TestPrivilege privilege) { privileges.add(privilege); privilege.getRoles().add(this); } /** * @return Returns the privileges. */ public Set getPrivileges() { return privileges; } /** * @param privileges The privileges to set. */ public void setPrivileges(Set privileges) { this.privileges = privileges; } } ////////////////////////////////////////////// // TestPrivilege.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.util.HashSet; import java.util.Set; /** * A privilege granted to roles. * * @author Dytech Solutions Pty. Ltd. */ public class TestPrivilege { Set roles; Long id; public TestPrivilege() { roles = new HashSet(); } /** * @return Returns the id. */ public Long getId() { return id; } /** * @param id The id to set. */ public void setId(Long id) { this.id = id; } /** * @param role The role to add. */ public void addRole(TestRole role) { role.addPrivilege(this); } /** * @return Returns the roles. */ public Set getRoles() { return roles; } /** * @param roles The roles to set. */ public void setRoles(Set roles) { this.roles = roles; } } ////////////////////////////////////////////// // TestUser.hbm.xml // ////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="au.com.dytech.find.core.hibernatetest.TestUser" table="TEST_USER" > <id name="id" column="id" type="long"> <generator class="native"/> </id> <set name="roles" table="TEST_USER_ROLES" lazy="false" cascade="all"> <key column="USER_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestRole" foreign-key = "FK_TEST_USER_ROLES_ROLE" column = "ROLE_ID"/> </set> </class> </hibernate-mapping> ////////////////////////////////////////////// // TestRole.hbm.xml // ////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="au.com.dytech.find.core.hibernatetest.TestRole" table="TEST_ROLE" > <id name="id" column="id" type="long"> <generator class="native"/> </id> <set name="privileges" table="TEST_ROLE_PRIVILEGES" lazy="false" cascade="all"> <key column="ROLE_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestPrivilege" foreign-key = "FK_TEST_ROLE_PRVLGS_PRVLG" column = "PRIVILEGE_ID"/> </set> <set name="users" inverse="true" cascade="all"> <key column="ROLE_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestUser" foreign-key = "FK_TEST_ROLE_USERS_USER" column = "USER_ID"/> </set> </class> </hibernate-mapping> ////////////////////////////////////////////// // TestPrivilege.hbm.xml // ////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="au.com.dytech.find.core.hibernatetest.TestPrivilege" table="TEST_PRIVILEGE" > <id name="id" column="id" type="long"> <generator class="native"/> </id> <set name="roles" inverse="true" cascade="all"> <key column="PRIVILEGE_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestRole" foreign-key = "FK_TEST_PRIVILEGE_ROLES_ROLE" column = "ROLE_ID"/> </set> </class> </hibernate-mapping> ////////////////////////////////////////////// // hibernate.cfg.xml // ////////////////////////////////////////////// <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <property name="show_sql">false</property> <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property> <mapping resource="au/com/dytech/find/core/hibernatetest/TestPrivilege.hbm.xml"/> <mapping resource="au/com/dytech/find/core/hibernatetest/TestRole.hbm.xml"/> <mapping resource="au/com/dytech/find/core/hibernatetest/TestUser.hbm.xml"/> </session-factory> </hibernate-configuration> ////////////////////////////////////////////// // HibernateQueryTest.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.naming.NamingException; import junit.framework.TestCase; import org.apache.commons.dbcp.BasicDataSource; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.springframework.mock.jndi.SimpleNamingContextBuilder; import org.springframework.orm.hibernate3.SessionFactoryUtils; /** * This test exposes a bug in hibernate's query generation. * * @author Dytech Solutions Pty. Ltd. */ public class HibernateQueryTest extends TestCase { Session session; TestUser user1; TestPrivilege privilege1, privilege2, privilege3, privilege4; private Transaction transaction; /** * @see junit.framework.TestCase#setUp() */ public void setUp() throws Exception { user1 = new TestUser(); TestUser user2 = new TestUser(); TestRole role1 = new TestRole(); TestRole role2 = new TestRole(); TestRole role3 = new TestRole(); privilege1 = new TestPrivilege(); privilege2 = new TestPrivilege(); privilege3 = new TestPrivilege(); privilege4 = new TestPrivilege(); user1.addRole(role1); user1.addRole(role2); role1.addPrivilege(privilege1); role1.addPrivilege(privilege2); role2.addPrivilege(privilege1); role2.addPrivilege(privilege3); user2.addRole(role3); role3.addPrivilege(privilege1); role3.addPrivilege(privilege4); setupJndiContext(); session = getSession(); transaction = session.beginTransaction(); List oldUsers = session.createCriteria(TestUser.class).list(); for (Iterator iter = oldUsers.iterator(); iter.hasNext();) { TestUser oldUser = (TestUser) iter.next(); session.delete(oldUser); } transaction.commit(); transaction = session.beginTransaction(); session.save(user1); session.save(user2); transaction.commit(); transaction = session.beginTransaction(); } /** * @see junit.framework.TestCase#tearDown() */ public void tearDown() { transaction.commit(); } /** * Produces invalid SQL. */ public void test1() { Query query = session.createQuery("from TestPrivilege p where :user in p.roles.users"); query.setEntity("user", user1); List results = query.list(); assertEquals(3, results.size()); assertTrue(results.contains(privilege1)); assertTrue(results.contains(privilege2)); assertTrue(results.contains(privilege3)); } /** * Produces valid SQL, but no results are found. */ public void test2() { Query query = session.createQuery("from TestPrivilege p where :user in elements(p.roles.users)"); query.setEntity("user", user1); List results = query.list(); assertEquals(3, results.size()); assertTrue(results.contains(privilege1)); assertTrue(results.contains(privilege2)); assertTrue(results.contains(privilege3)); } /** * Successful Query! */ public void test3() { Query query = session.createQuery("select distinct u.roles.privileges from TestUser u where u = :user"); query.setEntity("user", user1); List results = query.list(); assertEquals(3, results.size()); assertTrue(results.contains(privilege1)); assertTrue(results.contains(privilege2)); assertTrue(results.contains(privilege3)); } /** * Create a new Hibernate Session. */ private Session getSession() { File configFile = new File( "src/code/au/com/dytech/find/core/hibernatetest/hibernate.cfg.xml").getAbsoluteFile(); Configuration cfg = new Configuration(); cfg.configure(configFile); cfg.buildMappings(); cfg.setProperty("hibernate.connection.datasource", "jdbc/FindDb"); SessionFactory sessionFactory = cfg.buildSessionFactory(); Session session = SessionFactoryUtils.getNewSession(sessionFactory); return session; } /** * Sets up testing JNDI resources * */ public void setupJndiContext() throws NamingException, IOException { if (SimpleNamingContextBuilder.getCurrentContextBuilder() == null) { SimpleNamingContextBuilder builder = SimpleNamingContextBuilder.emptyActivatedContextBuilder(); BasicDataSource ds = new BasicDataSource(); ds.setPassword("dbpassword"); ds.setDriverClassName("oracle.jdbc.driver.OracleDriver"); ds.setUsername("dbusername"); ds.setUrl("jdbc:oracle:thin:@dbserver:dbport:dbname"); ds.setMaxActive(10); ds.setInitialSize(1); builder.bind("java:comp/env/" + "jdbc/FindDb", ds); builder.bind("jdbc/FindDb", ds); } } } ////////////////////////////////////////////// // test1 stack trace // ////////////////////////////////////////////// org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.loader.Loader.doList(Loader.java:1596) 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) at au.com.dytech.find.core.hibernatetest.HibernateQueryTest.test1(HibernateQueryTest.java:97) 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:324) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) Caused by: java.sql.SQLException: ORA-00936: missing expression at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:158) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:182) at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:589) at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1025) at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:632) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1147) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3035) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3076) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120) at org.hibernate.loader.Loader.getResultSet(Loader.java:1272) at org.hibernate.loader.Loader.doQuery(Loader.java:391) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218) at org.hibernate.loader.Loader.doList(Loader.java:1593) ... 23 more ////////////////////////////////////////////// // test2 stack trace // ////////////////////////////////////////////// junit.framework.AssertionFailedError: expected:<3> but was:<0> at junit.framework.Assert.fail(Assert.java:47) at junit.framework.Assert.failNotEquals(Assert.java:282) at junit.framework.Assert.assertEquals(Assert.java:64) at junit.framework.Assert.assertEquals(Assert.java:201) at junit.framework.Assert.assertEquals(Assert.java:207) at au.com.dytech.find.core.hibernatetest.HibernateQueryTest.test2(HibernateQueryTest.java:114) 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:324) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

    Hibernate JIRA | 1 decade ago | Dytech Solutions
    org.hibernate.exception.SQLGrammarException: could not execute query
  2. 0

    Summary: When executing the query "from Privilege p where :user in p.roles.users" an oracle SQLException: "missing expression" is thrown. Alternate queries were found, but this query should either work, or produce a hibernate query exception of some sort (ie malformed query, unsupported query etc), not left up to Oracle. This bug report contains: - 3 Java classes for model objects ~ TestUser.java - contains a set of TestRoles ~ TestRole.java - contains a set of TestUsers and a list of TestPrivileges ~ TestPrivilege.java - contains a set of TestRoles - 3 Hibernate mappings ~ All sets are mapped, some are inverse mappings. - 1 Hibernate configuration file ~ identifies the 3 mapping files - 1 JUnit test class with example queries ~ test1 produces invalid sql ~ test2 is valide, but unexpectedly returns no results ~ test3 is valid and returns correct results - 2 Stack traces, one from test1 and one test2 ////////////////////////////////////////////// // TestUser.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.util.HashSet; import java.util.Set; /** * A User of the system. * * @author Dytech Solutions Pty. Ltd. */ public class TestUser { Set roles; Long id; public TestUser() { roles = new HashSet(); } /** * @return Returns the id. */ public Long getId() { return id; } /** * @param id The id to set. */ public void setId(Long id) { this.id = id; } /** * @param role The role to add. */ public void addRole(TestRole role) { roles.add(role); role.getUsers().add(this); } /** * @return Returns the roles. */ public Set getRoles() { return roles; } /** * @param roles The roles to set. */ public void setRoles(Set roles) { this.roles = roles; } } ////////////////////////////////////////////// // TestRole.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.util.HashSet; import java.util.Set; /** * A role assumed by Users. * * @author Dytech Solutions Pty. Ltd. */ public class TestRole { Set privileges; Set users; Long id; public TestRole() { privileges = new HashSet(); users = new HashSet(); } /** * @return Returns the id. */ public Long getId() { return id; } /** * @param id The id to set. */ public void setId(Long id) { this.id = id; } /** * @param user The user to add. */ public void addUser(TestUser user) { user.addRole(this); } /** * @return Returns the users. */ public Set getUsers() { return users; } /** * @param users The users to set. */ public void setUsers(Set users) { this.users = users; } /** * @param privilege The pivilege to add. */ public void addPrivilege(TestPrivilege privilege) { privileges.add(privilege); privilege.getRoles().add(this); } /** * @return Returns the privileges. */ public Set getPrivileges() { return privileges; } /** * @param privileges The privileges to set. */ public void setPrivileges(Set privileges) { this.privileges = privileges; } } ////////////////////////////////////////////// // TestPrivilege.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.util.HashSet; import java.util.Set; /** * A privilege granted to roles. * * @author Dytech Solutions Pty. Ltd. */ public class TestPrivilege { Set roles; Long id; public TestPrivilege() { roles = new HashSet(); } /** * @return Returns the id. */ public Long getId() { return id; } /** * @param id The id to set. */ public void setId(Long id) { this.id = id; } /** * @param role The role to add. */ public void addRole(TestRole role) { role.addPrivilege(this); } /** * @return Returns the roles. */ public Set getRoles() { return roles; } /** * @param roles The roles to set. */ public void setRoles(Set roles) { this.roles = roles; } } ////////////////////////////////////////////// // TestUser.hbm.xml // ////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="au.com.dytech.find.core.hibernatetest.TestUser" table="TEST_USER" > <id name="id" column="id" type="long"> <generator class="native"/> </id> <set name="roles" table="TEST_USER_ROLES" lazy="false" cascade="all"> <key column="USER_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestRole" foreign-key = "FK_TEST_USER_ROLES_ROLE" column = "ROLE_ID"/> </set> </class> </hibernate-mapping> ////////////////////////////////////////////// // TestRole.hbm.xml // ////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="au.com.dytech.find.core.hibernatetest.TestRole" table="TEST_ROLE" > <id name="id" column="id" type="long"> <generator class="native"/> </id> <set name="privileges" table="TEST_ROLE_PRIVILEGES" lazy="false" cascade="all"> <key column="ROLE_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestPrivilege" foreign-key = "FK_TEST_ROLE_PRVLGS_PRVLG" column = "PRIVILEGE_ID"/> </set> <set name="users" inverse="true" cascade="all"> <key column="ROLE_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestUser" foreign-key = "FK_TEST_ROLE_USERS_USER" column = "USER_ID"/> </set> </class> </hibernate-mapping> ////////////////////////////////////////////// // TestPrivilege.hbm.xml // ////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="au.com.dytech.find.core.hibernatetest.TestPrivilege" table="TEST_PRIVILEGE" > <id name="id" column="id" type="long"> <generator class="native"/> </id> <set name="roles" inverse="true" cascade="all"> <key column="PRIVILEGE_ID"/> <many-to-many class = "au.com.dytech.find.core.hibernatetest.TestRole" foreign-key = "FK_TEST_PRIVILEGE_ROLES_ROLE" column = "ROLE_ID"/> </set> </class> </hibernate-mapping> ////////////////////////////////////////////// // hibernate.cfg.xml // ////////////////////////////////////////////// <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <property name="show_sql">false</property> <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property> <mapping resource="au/com/dytech/find/core/hibernatetest/TestPrivilege.hbm.xml"/> <mapping resource="au/com/dytech/find/core/hibernatetest/TestRole.hbm.xml"/> <mapping resource="au/com/dytech/find/core/hibernatetest/TestUser.hbm.xml"/> </session-factory> </hibernate-configuration> ////////////////////////////////////////////// // HibernateQueryTest.java // ////////////////////////////////////////////// package au.com.dytech.find.core.hibernatetest; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.naming.NamingException; import junit.framework.TestCase; import org.apache.commons.dbcp.BasicDataSource; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.springframework.mock.jndi.SimpleNamingContextBuilder; import org.springframework.orm.hibernate3.SessionFactoryUtils; /** * This test exposes a bug in hibernate's query generation. * * @author Dytech Solutions Pty. Ltd. */ public class HibernateQueryTest extends TestCase { Session session; TestUser user1; TestPrivilege privilege1, privilege2, privilege3, privilege4; private Transaction transaction; /** * @see junit.framework.TestCase#setUp() */ public void setUp() throws Exception { user1 = new TestUser(); TestUser user2 = new TestUser(); TestRole role1 = new TestRole(); TestRole role2 = new TestRole(); TestRole role3 = new TestRole(); privilege1 = new TestPrivilege(); privilege2 = new TestPrivilege(); privilege3 = new TestPrivilege(); privilege4 = new TestPrivilege(); user1.addRole(role1); user1.addRole(role2); role1.addPrivilege(privilege1); role1.addPrivilege(privilege2); role2.addPrivilege(privilege1); role2.addPrivilege(privilege3); user2.addRole(role3); role3.addPrivilege(privilege1); role3.addPrivilege(privilege4); setupJndiContext(); session = getSession(); transaction = session.beginTransaction(); List oldUsers = session.createCriteria(TestUser.class).list(); for (Iterator iter = oldUsers.iterator(); iter.hasNext();) { TestUser oldUser = (TestUser) iter.next(); session.delete(oldUser); } transaction.commit(); transaction = session.beginTransaction(); session.save(user1); session.save(user2); transaction.commit(); transaction = session.beginTransaction(); } /** * @see junit.framework.TestCase#tearDown() */ public void tearDown() { transaction.commit(); } /** * Produces invalid SQL. */ public void test1() { Query query = session.createQuery("from TestPrivilege p where :user in p.roles.users"); query.setEntity("user", user1); List results = query.list(); assertEquals(3, results.size()); assertTrue(results.contains(privilege1)); assertTrue(results.contains(privilege2)); assertTrue(results.contains(privilege3)); } /** * Produces valid SQL, but no results are found. */ public void test2() { Query query = session.createQuery("from TestPrivilege p where :user in elements(p.roles.users)"); query.setEntity("user", user1); List results = query.list(); assertEquals(3, results.size()); assertTrue(results.contains(privilege1)); assertTrue(results.contains(privilege2)); assertTrue(results.contains(privilege3)); } /** * Successful Query! */ public void test3() { Query query = session.createQuery("select distinct u.roles.privileges from TestUser u where u = :user"); query.setEntity("user", user1); List results = query.list(); assertEquals(3, results.size()); assertTrue(results.contains(privilege1)); assertTrue(results.contains(privilege2)); assertTrue(results.contains(privilege3)); } /** * Create a new Hibernate Session. */ private Session getSession() { File configFile = new File( "src/code/au/com/dytech/find/core/hibernatetest/hibernate.cfg.xml").getAbsoluteFile(); Configuration cfg = new Configuration(); cfg.configure(configFile); cfg.buildMappings(); cfg.setProperty("hibernate.connection.datasource", "jdbc/FindDb"); SessionFactory sessionFactory = cfg.buildSessionFactory(); Session session = SessionFactoryUtils.getNewSession(sessionFactory); return session; } /** * Sets up testing JNDI resources * */ public void setupJndiContext() throws NamingException, IOException { if (SimpleNamingContextBuilder.getCurrentContextBuilder() == null) { SimpleNamingContextBuilder builder = SimpleNamingContextBuilder.emptyActivatedContextBuilder(); BasicDataSource ds = new BasicDataSource(); ds.setPassword("dbpassword"); ds.setDriverClassName("oracle.jdbc.driver.OracleDriver"); ds.setUsername("dbusername"); ds.setUrl("jdbc:oracle:thin:@dbserver:dbport:dbname"); ds.setMaxActive(10); ds.setInitialSize(1); builder.bind("java:comp/env/" + "jdbc/FindDb", ds); builder.bind("jdbc/FindDb", ds); } } } ////////////////////////////////////////////// // test1 stack trace // ////////////////////////////////////////////// org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.loader.Loader.doList(Loader.java:1596) 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) at au.com.dytech.find.core.hibernatetest.HibernateQueryTest.test1(HibernateQueryTest.java:97) 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:324) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) Caused by: java.sql.SQLException: ORA-00936: missing expression at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:158) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:182) at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:589) at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1025) at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:632) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1147) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3035) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3076) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120) at org.hibernate.loader.Loader.getResultSet(Loader.java:1272) at org.hibernate.loader.Loader.doQuery(Loader.java:391) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218) at org.hibernate.loader.Loader.doList(Loader.java:1593) ... 23 more ////////////////////////////////////////////// // test2 stack trace // ////////////////////////////////////////////// junit.framework.AssertionFailedError: expected:<3> but was:<0> at junit.framework.Assert.fail(Assert.java:47) at junit.framework.Assert.failNotEquals(Assert.java:282) at junit.framework.Assert.assertEquals(Assert.java:64) at junit.framework.Assert.assertEquals(Assert.java:201) at junit.framework.Assert.assertEquals(Assert.java:207) at au.com.dytech.find.core.hibernatetest.HibernateQueryTest.test2(HibernateQueryTest.java:114) 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:324) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

    Hibernate JIRA | 1 decade ago | Dytech Solutions
    org.hibernate.exception.SQLGrammarException: could not execute query
  3. 0

    Under My Evaluations, clicking the title of the evaluation seems to work, but clicking the (link) next to the title I see HTTP 500 - The server encountered an internal error () that prevented it from fulfilling this request. Is (link) just for testing and can be removed now? <span style="font-size:0.9em;">(<a href="http://localhost:8080/direct/eval-evaluation/1815" title="direct url to the evaluation">link</a>)</span> INFO: No evalGroupId supplied, doing abbreviated check for evalId=1815, userId=f0f507c4-e32a-4a79-00da-3197fa64517e (2007-06-06 11:33:41,679 http-8080-Processor23_org.sakaiproject.evaluation.logic.impl.EvalEvaluationsLogicImpl) WARN: Empty list of groups for user:f0f507c4-e32a-4a79-00da-3197fa64517e, permission: eval.take.evaluation (2007-06-06 11:33:41,685 http-8080-Processor23_org.sakaiproject.evaluation.logic.impl.EvalExternalLogicImpl) WARN: SQL Error: 936, SQLState: 42000 (2007-06-06 11:33:41,691 http-8080-Processor23_org.hibernate.util.JDBCExceptionReporter) ERROR: ORA-00936: missing expression (2007-06-06 11:33:41,691 http-8080-Processor23_org.hibernate.util.JDBCExceptionReporter) 2007-06-06 11:33:41,769 ERROR (AccessRegistrar.java:82) - <Error handling access request> Target exception of class org.springframework.jdbc.BadSqlGrammarException Successive lines until stack trace show causes progressing to exception site: Error fetching factory bean errorStateManager to initialise bean targettedMessageList --> Error setting dependency requestRSVC of bean errorStateManager --> Error fetching factory bean postDecoder to initialise bean requestRSVC --> Error setting dependency renderSystemDecoder of bean postDecoder --> Error fetching bean renderSystem from factory method getRenderSystem of factory bean renderSystemResolver --> Error fetching bean contentTypeInfo from factory method getContentTypeInfo of factory bean contentTypeInfoFactory --> Error fetching bean viewParameters from factory method getViewParameters of factory bean viewParamsInterceptorManager --> Error fetching bean defaultViewParameters from factory method getViewParameters of factory bean defaultViewInferrerManager --> Hibernate operation: could not execute query; bad SQL grammar [select this_.ID as ID23_0_, this_.LAST_MODIFIED as LAST2_23_0_, this_.OWNER as OWNER23_0_, this_.group_id as group4_23_0_, this_.group_type as group5_23_0_, this_.INSTRUCTOR_APPROVAL as INSTRUCTOR6_23_0_, this_.INSTRUCTORS_VIEW_RESULTS as INSTRUCT7_23_0_, this_.STUDENTS_VIEW_RESULTS as STUDENTS8_23_0_, this_.EVALUATION_FK as EVALUATION9_23_0_ from EVAL_ASSIGN_GROUP this_ where this_.EVALUATION_FK=? and this_.INSTRUCTOR_APPROVAL=? and this_.group_id in ()]; nested exception is java.sql.SQLException: ORA-00936: missing expression org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not execute query; bad SQL grammar [select this_.ID as ID23_0_, this_.LAST_MODIFIED as LAST2_23_0_, this_.OWNER as OWNER23_0_, this_.group_id as group4_23_0_, this_.group_type as group5_23_0_, this_.INSTRUCTOR_APPROVAL as INSTRUCTOR6_23_0_, this_.INSTRUCTORS_VIEW_RESULTS as INSTRUCT7_23_0_, this_.STUDENTS_VIEW_RESULTS as STUDENTS8_23_0_, this_.EVALUATION_FK as EVALUATION9_23_0_ from EVAL_ASSIGN_GROUP this_ where this_.EVALUATION_FK=? and this_.INSTRUCTOR_APPROVAL=? and this_.group_id in ()]; nested exception is java.sql.SQLException: ORA-00936: missing expression java.sql.SQLException: ORA-00936: missing expression at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185) at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503) at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:965) at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1051) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3026) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139) at org.hibernate.loader.Loader.getResultSet(Loader.java:1669) at org.hibernate.loader.Loader.doQuery(Loader.java:662) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.doList(Loader.java:2145) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) at org.hibernate.loader.Loader.list(Loader.java:2024) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at org.springframework.orm.hibernate3.HibernateTemplate$37.doInHibernate(HibernateTemplate.java:988) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366) at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:978) at org.sakaiproject.genericdao.hibernate.HibernateBasicGenericDao.findByProperties(HibernateBasicGenericDao.java:119) at org.sakaiproject.genericdao.hibernate.HibernateBasicGenericDao.findByProperties(HibernateBasicGenericDao.java:109) at org.sakaiproject.genericdao.hibernate.HibernateBasicGenericDao.findByProperties(HibernateBasicGenericDao.java:83) at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176) at $Proxy5.findByProperties(Unknown Source) at org.sakaiproject.evaluation.logic.impl.EvalEvaluationsLogicImpl.canTakeEvaluation(EvalEvaluationsLogicImpl.java:652) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer.inferDefaultViewParametersImpl(EvaluationVPInferrer.java:170) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer.access$000(EvaluationVPInferrer.java:49) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer$1.run(EvaluationVPInferrer.java:96) at org.sakaiproject.genericdao.hibernate.HibernateGenericDao.invokeTransactionalAccess(HibernateGenericDao.java:94) at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176) at $Proxy5.invokeTransactionalAccess(Unknown Source) at org.sakaiproject.evaluation.tool.wrapper.ModelAccessWrapperInvoker.invokeRunnable(ModelAccessWrapperInvoker.java:39) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer.inferDefaultViewParameters(EvaluationVPInferrer.java:94) at uk.ac.cam.caret.sakai.rsf.entitybroker.EVPIManager.getViewParameters(EVPIManager.java:57) at uk.org.ponder.rsf.viewstate.DefaultViewInferrerManager.getViewParameters(DefaultViewInferrerManager.java:21) 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:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.viewstate.ViewParameters$$EnhancerByCGLIB$$a25f3849.get(<generated>) at uk.org.ponder.rsf.viewstate.BasicViewParametersParser.parse(BasicViewParametersParser.java:62) at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:248) at org.springframework.beans.factory.config.MethodInvokingFactoryBean.doInvoke(MethodInvokingFactoryBean.java:124) at org.springframework.beans.factory.config.MethodInvokingFactoryBean.afterPropertiesSet(MethodInvokingFactoryBean.java:113) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:571) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.viewstate.ViewParameters$$EnhancerByCGLIB$$5ca323fe.get(<generated>) at uk.org.ponder.rsf.viewstate.ViewParamsInterceptorManager.getViewParameters(ViewParamsInterceptorManager.java:22) at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.viewstate.ViewParameters$$EnhancerByCGLIB$$4dbcb9e3.get(<generated>) at uk.org.ponder.rsf.content.ContentTypeInfoFactory.getContentType(ContentTypeInfoFactory.java:46) at uk.org.ponder.rsf.content.ContentTypeInfoFactory.getContentTypeInfo(ContentTypeInfoFactory.java:60) at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.content.ContentTypeInfo$$EnhancerByCGLIB$$f63a8ba4.get(<generated>) at uk.org.ponder.rsf.renderer.RenderSystemResolver.getRenderSystem(RenderSystemResolver.java:33) at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.fetchDependent(RSACBeanLocator.java:626) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:513) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:456) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.fetchDependent(RSACBeanLocator.java:626) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:513) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:456) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACErrorBridge.invokeRunnable(RSACErrorBridge.java:32) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:436) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.ac.cam.caret.sakai.rsf.entitybroker.AccessRegistrar.handleAccess(AccessRegistrar.java:78) at org.sakaiproject.entitybroker.servlet.DirectServlet.dispatch(DirectServlet.java:180) at org.sakaiproject.entitybroker.servlet.DirectServlet.handleRequest(DirectServlet.java:138) at org.sakaiproject.entitybroker.servlet.DirectServlet.doGet(DirectServlet.java:101) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:532) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Thread.java:613) WARN: dispatch(): exception: (2007-06-06 11:33:41,778 http-8080-Processor23_org.sakaiproject.entitybroker.servlet.DirectServlet) org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not execute query; bad SQL grammar [select this_.ID as ID23_0_, this_.LAST_MODIFIED as LAST2_23_0_, this_.OWNER as OWNER23_0_, this_.group_id as group4_23_0_, this_.group_type as group5_23_0_, this_.INSTRUCTOR_APPROVAL as INSTRUCTOR6_23_0_, this_.INSTRUCTORS_VIEW_RESULTS as INSTRUCT7_23_0_, this_.STUDENTS_VIEW_RESULTS as STUDENTS8_23_0_, this_.EVALUATION_FK as EVALUATION9_23_0_ from EVAL_ASSIGN_GROUP this_ where this_.EVALUATION_FK=? and this_.INSTRUCTOR_APPROVAL=? and this_.group_id in ()]; nested exception is java.sql.SQLException: ORA-00936: missing expression java.sql.SQLException: ORA-00936: missing expression at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185) at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503) at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:965) at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1051) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3026) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139) at org.hibernate.loader.Loader.getResultSet(Loader.java:1669) at org.hibernate.loader.Loader.doQuery(Loader.java:662) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.doList(Loader.java:2145) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) at org.hibernate.loader.Loader.list(Loader.java:2024) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at org.springframework.orm.hibernate3.HibernateTemplate$37.doInHibernate(HibernateTemplate.java:988) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366) at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:978) at org.sakaiproject.genericdao.hibernate.HibernateBasicGenericDao.findByProperties(HibernateBasicGenericDao.java:119) at org.sakaiproject.genericdao.hibernate.HibernateBasicGenericDao.findByProperties(HibernateBasicGenericDao.java:109) at org.sakaiproject.genericdao.hibernate.HibernateBasicGenericDao.findByProperties(HibernateBasicGenericDao.java:83) at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176) at $Proxy5.findByProperties(Unknown Source) at org.sakaiproject.evaluation.logic.impl.EvalEvaluationsLogicImpl.canTakeEvaluation(EvalEvaluationsLogicImpl.java:652) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer.inferDefaultViewParametersImpl(EvaluationVPInferrer.java:170) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer.access$000(EvaluationVPInferrer.java:49) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer$1.run(EvaluationVPInferrer.java:96) at org.sakaiproject.genericdao.hibernate.HibernateGenericDao.invokeTransactionalAccess(HibernateGenericDao.java:94) at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176) at $Proxy5.invokeTransactionalAccess(Unknown Source) at org.sakaiproject.evaluation.tool.wrapper.ModelAccessWrapperInvoker.invokeRunnable(ModelAccessWrapperInvoker.java:39) at org.sakaiproject.evaluation.tool.inferrers.EvaluationVPInferrer.inferDefaultViewParameters(EvaluationVPInferrer.java:94) at uk.ac.cam.caret.sakai.rsf.entitybroker.EVPIManager.getViewParameters(EVPIManager.java:57) at uk.org.ponder.rsf.viewstate.DefaultViewInferrerManager.getViewParameters(DefaultViewInferrerManager.java:21) 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:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.viewstate.ViewParameters$$EnhancerByCGLIB$$a25f3849.get(<generated>) at uk.org.ponder.rsf.viewstate.BasicViewParametersParser.parse(BasicViewParametersParser.java:62) at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:248) at org.springframework.beans.factory.config.MethodInvokingFactoryBean.doInvoke(MethodInvokingFactoryBean.java:124) at org.springframework.beans.factory.config.MethodInvokingFactoryBean.afterPropertiesSet(MethodInvokingFactoryBean.java:113) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:571) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.viewstate.ViewParameters$$EnhancerByCGLIB$$5ca323fe.get(<generated>) at uk.org.ponder.rsf.viewstate.ViewParamsInterceptorManager.getViewParameters(ViewParamsInterceptorManager.java:22) at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.viewstate.ViewParameters$$EnhancerByCGLIB$$4dbcb9e3.get(<generated>) at uk.org.ponder.rsf.content.ContentTypeInfoFactory.getContentType(ContentTypeInfoFactory.java:46) at uk.org.ponder.rsf.content.ContentTypeInfoFactory.getContentTypeInfo(ContentTypeInfoFactory.java:60) at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACBridgeProxy.getTarget(RSACBridgeProxy.java:64) at uk.org.ponder.rsac.RSACPeaProxyFactory.intercept(RSACPeaProxyFactory.java:62) at uk.org.ponder.rsf.content.ContentTypeInfo$$EnhancerByCGLIB$$f63a8ba4.get(<generated>) at uk.org.ponder.rsf.renderer.RenderSystemResolver.getRenderSystem(RenderSystemResolver.java:33) at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:27) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:21) at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:81) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:464) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.fetchDependent(RSACBeanLocator.java:626) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:513) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:456) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.fetchDependent(RSACBeanLocator.java:626) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:513) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:456) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.org.ponder.rsac.RSACErrorBridge.invokeRunnable(RSACErrorBridge.java:32) at uk.org.ponder.rsac.RSACBeanLocator.createBean(RSACBeanLocator.java:436) at uk.org.ponder.rsac.RSACBeanLocator.getLocalBean(RSACBeanLocator.java:340) at uk.org.ponder.rsac.RSACBeanLocator.getBean(RSACBeanLocator.java:367) at uk.org.ponder.rsac.PerRequestInfo$1.locateBean(PerRequestInfo.java:47) at uk.ac.cam.caret.sakai.rsf.entitybroker.AccessRegistrar.handleAccess(AccessRegistrar.java:78) at org.sakaiproject.entitybroker.servlet.DirectServlet.dispatch(DirectServlet.java:180) at org.sakaiproject.entitybroker.servlet.DirectServlet.handleRequest(DirectServlet.java:138) at org.sakaiproject.entitybroker.servlet.DirectServlet.doGet(DirectServlet.java:101) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:532) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Thread.java:613)

    Sakai JIRA | 9 years ago | Richard Ellis
    java.sql.SQLException: ORA-00936: missing expression
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    数据库连接的自动重连

    GitHub | 3 years ago | fengzhiguan
    java.sql.SQLException: Io 异常: Software caused connection abort: recv failed
  6. 0

    java.sql.SQLException: ORA-0094 caught when using quartz

    Stack Overflow | 5 years ago | Xuanzi Han
    java.sql.SQLException: ORA-00942: table or view does not exist

    12 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.sql.SQLException

      ORA-00936: missing expression

      at oracle.jdbc.driver.DatabaseError.throwSqlException()
    2. Oracle jdbc
      OraclePreparedStatement.executeQuery
      1. oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:158)
      2. oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
      3. oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
      4. oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
      5. oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:182)
      6. oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:589)
      7. oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1025)
      8. oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:632)
      9. oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1147)
      10. oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3035)
      11. oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3076)
      11 frames
    3. Commons DBCP
      DelegatingPreparedStatement.executeQuery
      1. org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
      1 frame
    4. Hibernate
      QueryLoader.list
      1. org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120)
      2. org.hibernate.loader.Loader.getResultSet(Loader.java:1272)
      3. org.hibernate.loader.Loader.doQuery(Loader.java:391)
      4. org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
      5. org.hibernate.loader.Loader.doList(Loader.java:1593)
      6. org.hibernate.loader.Loader.list(Loader.java:1577)
      7. org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
      7 frames
    5. Hibernate HQL/JP-QL Parser
      QueryTranslatorImpl.list
      1. org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
      1 frame
    6. Hibernate
      QueryImpl.list
      1. org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
      2. org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
      2 frames
    7. au.com.dytech
      HibernateQueryTest.test1
      1. au.com.dytech.find.core.hibernatetest.HibernateQueryTest.test1(HibernateQueryTest.java:97)
      1 frame
    8. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:324)
      4 frames
    9. JUnit
      TestSuite.run
      1. junit.framework.TestCase.runTest(TestCase.java:154)
      2. junit.framework.TestCase.runBare(TestCase.java:127)
      3. junit.framework.TestResult$1.protect(TestResult.java:106)
      4. junit.framework.TestResult.runProtected(TestResult.java:124)
      5. junit.framework.TestResult.run(TestResult.java:109)
      6. junit.framework.TestCase.run(TestCase.java:118)
      7. junit.framework.TestSuite.runTest(TestSuite.java:208)
      8. junit.framework.TestSuite.run(TestSuite.java:203)
      9. junit.framework.TestSuite.runTest(TestSuite.java:208)
      10. junit.framework.TestSuite.run(TestSuite.java:203)
      10 frames
    10. JUnit3 Runner
      RemoteTestRunner.main
      1. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
      2. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
      3. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
      3 frames