org.hibernate.exception.SQLGrammarException: could not initialize a collection: [com.acme.model.ChassisModel.engineModels#1]

Hibernate JIRA | Vaughn Butt | 1 decade ago
  1. 0

    The problem appears to be that the hbm.xml file generated for two classes that have a Many-To-Many relationship does not include the attribute for the link (aka association) table name. see http://forum.hibernate.org/viewtopic.php?t=964363 When I tried to navigate across the association using the generated hbm.xml file I got this stack trace (snipped): WARNING: SQL Error: 1146, SQLState: 42S02 5/09/2006 14:00:24 org.hibernate.util.JDBCExceptionReporter logExceptions SEVERE: Table 'blah.enginemodels' doesn't exist Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not initialize a collection: [com.acme.model.ChassisModel.engineModels#1] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) When I added the table="<linktablename>" attribute to the "set" element the navigation succeeded. <set name="roles" inverse="true" table="lt_role_person"> <key> <column name="person_pkid" not-null="true"> <comment></comment> </column> </key> <many-to-many entity-name="nz.co.linktest.model.Role"> <column name="role_pkid" not-null="true"> <comment></comment> </column> </many-to-many> </set> I don't think the stuff in the log is related but I could be wrong so... The file workspace\org.hibernate.eclipse.console\hibernate-tools.log had something like 2006-09-02 17:59:32,812 0 [ Worker-5] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-02 17:59:32,812 0 [ Worker-5] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-02 18:09:08,093 575281 [ Worker-1] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-02 18:09:08,109 575297 [ Worker-1] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-03 08:03:53,718 0 [ Worker-9] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-03 08:03:53,750 32 [ Worker-9] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-03 16:01:57,687 0 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-03 16:01:58,125 438 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-03 16:05:27,312 209625 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-03 16:05:27,406 209719 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model where lt_e_model_c_model is like the name of the link table that the reveng originally "failed" on. Interestingly there does not seem to be any similar log entries for the attached example. The file workspace\org.hibernate.eclipse.console\hibernate-console.xml-8 had something (some other stuff removed) like <?xml version="1.0" encoding="UTF-8"?><hibernate-console><configuration name="Linktest"><hibernate-config-xml location="/Linktest/src/hibernate.cfg.xml"/><classpath><path location="/Linktest/bin"/><path location="/Linktest/lib/mysql-connector-java-3.1.13-bin.jar"/></classpath></configuration></hibernate-console>

    Hibernate JIRA | 1 decade ago | Vaughn Butt
    org.hibernate.exception.SQLGrammarException: could not initialize a collection: [com.acme.model.ChassisModel.engineModels#1]
  2. 0

    The problem appears to be that the hbm.xml file generated for two classes that have a Many-To-Many relationship does not include the attribute for the link (aka association) table name. see http://forum.hibernate.org/viewtopic.php?t=964363 When I tried to navigate across the association using the generated hbm.xml file I got this stack trace (snipped): WARNING: SQL Error: 1146, SQLState: 42S02 5/09/2006 14:00:24 org.hibernate.util.JDBCExceptionReporter logExceptions SEVERE: Table 'blah.enginemodels' doesn't exist Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not initialize a collection: [com.acme.model.ChassisModel.engineModels#1] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) When I added the table="<linktablename>" attribute to the "set" element the navigation succeeded. <set name="roles" inverse="true" table="lt_role_person"> <key> <column name="person_pkid" not-null="true"> <comment></comment> </column> </key> <many-to-many entity-name="nz.co.linktest.model.Role"> <column name="role_pkid" not-null="true"> <comment></comment> </column> </many-to-many> </set> I don't think the stuff in the log is related but I could be wrong so... The file workspace\org.hibernate.eclipse.console\hibernate-tools.log had something like 2006-09-02 17:59:32,812 0 [ Worker-5] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-02 17:59:32,812 0 [ Worker-5] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-02 18:09:08,093 575281 [ Worker-1] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-02 18:09:08,109 575297 [ Worker-1] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-03 08:03:53,718 0 [ Worker-9] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-03 08:03:53,750 32 [ Worker-9] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-03 16:01:57,687 0 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-03 16:01:58,125 438 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model 2006-09-03 16:05:27,312 209625 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - The JDBC driver didn't report any primary key columns in lt_e_model_c_model. Asking rev.eng. strategy 2006-09-03 16:05:27,406 209719 [ Worker-3] WARN ibernate.cfg.reveng.JDBCReader - Rev.eng. strategy did not report any primary key columns for lt_e_model_c_model where lt_e_model_c_model is like the name of the link table that the reveng originally "failed" on. Interestingly there does not seem to be any similar log entries for the attached example. The file workspace\org.hibernate.eclipse.console\hibernate-console.xml-8 had something (some other stuff removed) like <?xml version="1.0" encoding="UTF-8"?><hibernate-console><configuration name="Linktest"><hibernate-config-xml location="/Linktest/src/hibernate.cfg.xml"/><classpath><path location="/Linktest/bin"/><path location="/Linktest/lib/mysql-connector-java-3.1.13-bin.jar"/></classpath></configuration></hibernate-console>

    Hibernate JIRA | 1 decade ago | Vaughn Butt
    org.hibernate.exception.SQLGrammarException: could not initialize a collection: [com.acme.model.ChassisModel.engineModels#1]
  3. 0

    Understanding Hibernate: JDBCExceptionReporter | Invalid parameter index

    Stack Overflow | 4 years ago | newSpringer
    org.hibernate.exception.SQLGrammarException: could not update: [com.company.project.PSDBusinessAssociate#18962]
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    srid(geometry) function does not exist: Java hibernate

    Stack Overflow | 3 years ago | primer_cuervo
    org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query
  6. 0

    SQLGrammarException: could not get next sequence value (Object Relational Mapping forum at JavaRanch)

    coderanch.com | 1 year ago
    org.hibernate.exception.SQLGrammarException: could not get next sequence value

    1 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. org.hibernate.exception.SQLGrammarException

      could not initialize a collection: [com.acme.model.ChassisModel.engineModels#1]

      at org.hibernate.exception.SQLStateConverter.convert()
    2. Hibernate
      JDBCExceptionHelper.convert
      1. org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
      2. org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
      2 frames