[hibernate-issues] [Hibernate-JIRA] Closed: (HBX-749) hbm generation of many-to-many missing table name

Max Rydahl Andersen (JIRA) noreply at atlassian.com
Wed Sep 13 08:48:24 EDT 2006


     [ http://opensource.atlassian.com/projects/hibernate/browse/HBX-749?page=all ]
     
Max Rydahl Andersen closed HBX-749:
-----------------------------------

    Fix Version: 3.2beta8
     Resolution: Fixed

fiixed for <set>

> hbm generation of many-to-many missing table name
> -------------------------------------------------
>
>          Key: HBX-749
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-749
>      Project: Hibernate Tools
>         Type: Bug

>   Components: reverse-engineer
>     Versions: 3.2beta7
>  Environment: Hibernate : 3.2.0.cr4
> Hibernate Tools : 3.2.0.beta7
> MySQL database : 5.0.24-community-nt via TCP/IP
> MySQL Connector : mysql-connector-java-3.1.13-bin.jar
> Eclipse : 3.2
>     Reporter: Vaughn Butt
>     Priority: Critical
>      Fix For: 3.2beta8
>  Attachments: Person.hbm.xml, Role.hbm.xml, linktest_ddl.sql
>
>
> 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>

-- 
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