Я пытаюсь реализовать свою собственную Hibernate NamingStrategy на основе ImprovedNamingStrategy. Это очень хорошо ... только внешние ключи отношений многих ко многим безобразны.
Пример сценария:
public class Teacher {
@ManyToMany
private Set<Course> courses;
}
public class Course {
@ManyToMany
private Set<Teacher> teachers;
}
С моей нестандартной системой именования
public class MyImprovedNamingStrategy extends ImprovedNamingStrategy {
private static final long serialVersionUID = 1L;
@Override
public String foreignKeyColumnName(String propertyName, String propertyEntityName, String propertyTableName, String referencedColumnName) {
String s = super.foreignKeyColumnName(propertyName, propertyEntityName, propertyTableName, referencedColumnName);
return s.endsWith("_id") ? s : s + "_id";
}
}
это приведет к таблице teacher_courses со столбцами teacher_id, courses_id .
Я пытаюсь понять, что это таблица с именем teacher_course с полями teacher_id, course_id .
Любые предложения, как суммировать мои множественные именованные свойства сущностей?