You're right, I just reproduced it with oracle (running in Eclipse). Looks like SynchronizeMappings isn't going through the Dictionary to trim the table name. I'll take a closer look.
Thanks for pointing it out. -mike On Thu, Jan 22, 2009 at 8:22 AM, Alan Raison <[email protected]>wrote: > > I think you're looking for DBDictionary.maxTableNameLength. It's > usually > > set in the constructor for the DBDictionary class, ie in > > OracleDictionary : > > I have already set this property in my Dictionary, but somehow openjpa > is creating a table name which is too long and then trapping the error > itself during the getCreateTableSQL method. Note the error text from > the sample Test output XML sent previously: > > "Table name "PersistentMapHolder_testPCIntfKeyPCValue" is 40-character > long. The database allows maximum 32-character for a table name." > > This has correctly identified that maxTableNameLength is 32, so do I > need to do something else to ensure that openjpa doesn't try to create a > Table object with a 40-character name? > > Thanks > > Alan >
