OracleデータベースでHibernateを使用するプロジェクトがあり、すべてのエンティティがhibernate.reveng.xmlファイルの制御下でHibernateToolsから直接生成されます。
次のように、中間テーブルを使用して、それ自体と多対多の関係を持つ1つのクラスがあります。
PERSON:
ID
...
PERSON_PERSON:
PARENT_ID --> PERSON.ID
CHILD_ID --> PERSON.ID
特定のディレクティブがない場合、HibernateToolsは次のようなクラスを自動的に生成します。
public class Person {
private Long id;
private Set<Person> personsForParentId = new HashSet<Person>(0);
private Set<Person> personsForChildId = new HashSet<Person>(0);
}
どちらが親セットでどちらが子セットであるかをコーディングする場合、これはあまり役に立ちません。そのため、名前を「parents」と「children」に変更したいと思います。
hibernate.reveng.xmlを編集して、そのフィールドの名前を強制的に変更しようとしましたが、機能するものを見つけることができません。PERSONテーブル、PERSON_PERSONテーブル、またはその両方に変更を指定しているかどうか、およびどの属性を変更するかがわかりません。
私はこれらのクラスを手動で設定することに慣れていますが、このプロジェクトではビルドプロセスを制御できないため、Hibernate Toolsによって生成されるものを処理する必要があるため、HibernateToolsを次のように作成する必要があります。私がやりたいことをしなさい。