5

我有一个在 Oracle 数据库上使用 Hibernate 的项目,其所有实体都是直接从 Hibernate 工具生成的,由 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 即可做我想做的。

4

1 回答 1

1

在您的 hibernate.reveng.xml 文件上尝试像这样标记相关列;

<column name="personsForParentId" property="parents" />
于 2011-10-18T08:25:51.760 回答