Ok you need to override the ImprovedNamingStrategy because they
commented the part that the add the primary key of the referenced
table:
public String foreignKeyColumnName(
String propertyName, String propertyEntityName, String
propertyTableName, String referencedColumnName
) {
String header = propertyName != null ?
StringHelper.unqualify( propertyName ) : propertyTableName;
if (header == null) throw new AssertionFailure("NamingStrategy not
properly filled");
return columnName( header ); //+ "_" + referencedColumnName not used
for backward compatibility