如何使用hibernate.reveng.xml更改自引用多对多集的名称?

Jon*_*Jon 5 orm many-to-many hibernate reverse-engineering hibernate-tools

我有一个在Oracle数据库上使用Hibernate的项目,所有实体都是在hibernate.reveng.xml文件的控制下直接从Hibernate Tools生成的.

我有一个类使用中间表与自身有多对多的关系,如下所示:

PERSON:
  ID
  ...

PERSON_PERSON:
  PARENT_ID --> PERSON.ID
  CHILD_ID  --> PERSON.ID
Run Code Online (Sandbox Code Playgroud)

没有任何特定的指令,Hibernate Tools会自动生成一个如下所示的类:

public class Person {
    private Long id;
    private Set<Person> personsForParentId = new HashSet<Person>(0);
    private Set<Person> personsForChildId = new HashSet<Person>(0);
}
Run Code Online (Sandbox Code Playgroud)

因为在编码以确定哪个是父集合以及哪个是子集时,这不是很有用,我想将它们重命名为"父母"和"孩子".

我一直在编辑hibernate.reveng.xml以试图强制它重命名该字段,但我找不到有用的东西.我不确定我是在PERSON表,PERSON_PERSON表或两者上指定更改,以及要更改哪些属性.

我习惯手动设置这些类,但是在这个项目中我无法控制构建过程,因此我必须处理Hibernate Tools生成的内容,所以我真的只需要创建Hibernate Tools做我想做的.

dur*_*sun 1

在 hibernate.reveng.xml 文件上尝试标记相关列,如下所示;

<column name="personsForParentId" property="parents" />
Run Code Online (Sandbox Code Playgroud)