My naming strategy in hibernate was the default one : EJB3NamingStrategy. So the field and table names was in camelcase. I switched it to ImprovedNamingStrategy to have snakecase.
But my foreign keys doesn’t include the primary key name of the referenced entity in the name.
Example:
table1:
id
name
With EJB3NamingStrategy the table2 fields will be:
table2:
id
table1_id
but with ImprovedNamingStrategy the table2 fields will be:
table2:
id
table1
Is there a way to have _id with the ImprovedNamingStrategy. I don’t understand why hibernate behave differently because the logicalCollectionColumnName method in both strategy are identical.
Extend the improvedNamingStrategy and customize, maybe the initial implementation of the ImprovedNamingStrategy got this wrong and then they couldn’t fix it as it would break backward compatability.