我有一个在Oracle数据库上使用Hibernate的项目,所有实体都是在hibernate.reveng.xml文件的控制下直接从Hibernate Tools生成的。
我有一个类使用中间表与自身有多对多的关系,如下所示:
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可以做我想做的事。
答案 0 :(得分:1)
尝试标记这样的相关列;
<column name="personsForParentId" property="parents" />