[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-1904) Identifier too long (reborn)
Santiago Ennis (JIRA)
noreply at atlassian.com
Sun Nov 21 02:41:13 EST 2010
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Santiago Ennis updated HHH-1904:
--------------------------------
Attachment: schema-export-long-fk-name.zip
TestCase too generate "identifier too long" error.
> Identifier too long (reborn)
> ----------------------------
>
> Key: HHH-1904
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1904
> Project: Hibernate Core
> Issue Type: Bug
> Affects Versions: 3.2.0.cr2
> Reporter: Andrea Aime
> Attachments: schema-export-long-fk-name.zip
>
>
> I'm following up form HHH-355, basically, foreign keys with names that go well beying 30 chars of lenght.
> I know how to reproduce the problem, and if required I can provide a test case, but let me point you to
> the code path that generates the problem first (and see if that's enough).
> I do have a hierarchy mapped with the table per class approach, with intermediate abstract classes.
> Leaf classes of this hierarchy are apparently managed in hibernate usign the DenormalizedTable class. The code that generates the foreign keys for this class is:
> public void createForeignKeys() {
> includedTable.createForeignKeys();
> Iterator iter = includedTable.getForeignKeyIterator();
> while ( iter.hasNext() ) {
> ForeignKey fk = (ForeignKey) iter.next();
> createForeignKey(
> fk.getName() + Integer.toHexString( getName().hashCode() ),
> fk.getColumns(),
> fk.getReferencedEntityName()
> );
> }
> }
> As you can see, it gets the foreign key name of the contained class, and appends another hexstring. This name can become really long if the
> hierarchy has many levels. In my case I get names as long as: FK14F780C41886F83e63ff56e238e868d73630607.
> Let me know if this is enough or if you need more information.
> Ah, another problem is that the appended foreign parts do not pass thru the naming strategy, and as you can see they're not
> uppercase in my sample (my naming strategy does uppercase everything)
--
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