I have a number of tables and /or columns within tables which have reasonably long names but do not exceed the Oracle 30 character limit. However when used in conjunction with hibernate which prepends certain characters to the beginning of the SQL e.g. credential4_. and businesspr6_.
credential4_.credentials_id as credenti1_47_4_, businesspr6_.business_profile_id as business1_45_6_,
the sql identifiers exceed 30 characters and illicit the error shown in the subject field above.
Looking at the SQL generated it appears that hibernate has limited the string it uses as a unique qualifier e.g credential4_. and businesspr6_. to 13 characters. How can I control this and limit it to say five or eight characters.
I have set the dialect to org.hibernate.dialect.Oracle10gDialect. I would have expected this to influence the length of any qualified identifiers that hibernate generates and I would expect hibernate to ensure that they remained below the Oracle 30 character limit.
Is there some setting or configuration parameter that I could use to avoid the errors I am experiencing. Changing the table names etc. would be a last resort as the application is currently working with other databases.
Appreciate any help anybody can give.
|