У меня есть проект, использующий Hibernate в базе данных Oracle, для которого все сущности создаются непосредственно из Hibernate Tools под управлением файла hibernate.reveng.xml.
У меня есть один класс, который имеет отношение «многие ко многим» с самим собой с помощью промежуточной таблицы, например:
PERSON:
ID
...
PERSON_PERSON:
PARENT_ID --> PERSON.ID
CHILD_ID --> PERSON.ID
Без каких-либо конкретных директив Hibernate Tools автоматически сгенерирует класс, который выглядит следующим образом:
public class Person {
private Long id;
private Set<Person> personsForParentId = new HashSet<Person>(0);
private Set<Person> personsForChildId = new HashSet<Person>(0);
}
Поскольку это не очень полезно при кодировании, чтобы определить, какой набор является родительским, а какой - дочерним, я бы хотел переименовать их как «родители» и «дети».
Я редактировал hibernate.reveng.xml, пытаясь заставить его переименовать это поле, но я не могу найти что-то, что работает. Я не уверен, указываю ли я изменение в таблице PERSON, таблице PERSON_PERSON или в обеих, и какие атрибуты нужно изменить.
Я привык настраивать эти классы вручную, но в этом проекте у меня нет контроля над процессом сборки, поэтому мне приходится довольствоваться тем, что создается с помощью Hibernate Tools, поэтому мне просто нужно сделать Hibernate Tools, чтобы делаю что хочу.