By default, as you can see, it attempts to do a simple pluralization for english, but since it's such a pain in the butt language, it is not always that easy.
Using a reverse engineering file, where foreign key constraint name between FileUploadDetails and FileActivationDetails is named FUD_F01_FAD:
Code:
<hibernate-reverse-engineering>
<table name="FILE_UPLOAD_DETAILS" class="eg.hibernate.FileUploadDetails">
<foreign-key constraint-name="FUD_F01_FAD">
<set property="fileActivationDetails"/>
</foreign-key>
</table>
</hibernate-reverse-engineering>
or, using a DelegatingReverseEngineeringStrategy:
Code:
public class Strategy extends DelegatingReverseEngineeringStrategy {
@Override
public String foreignKeyToCollectionName(String keyname, TableIdentifier fromTable, List fromColumns,
TableIdentifier referencedTable, List referencedColumns, boolean uniqueReference) {
String propertyName = super.foreignKeyToCollectionName(keyname, fromTable, fromColumns, referencedTable,
referencedColumns, uniqueReference);
if ("fileActivationDetailses".equals(propertyName)) {
propertyName = "fileActivationDetails"
}
return propertyName;
}
}