Tengo un proyecto que usa Hibernate en una base de datos Oracle para el cual todas las entidades se generan directamente desde Hibernate Tools bajo el control de un archivo hibernate.reveng.xml.¿Cómo puedo cambiar el nombre del conjunto autorreferencial de muchos a muchos usando hibernate.reveng.xml?
tengo una clase que tiene una relación de muchos a muchos a sí mismo utilizando una tabla de intermediario, así:
PERSON:
ID
...
PERSON_PERSON:
PARENT_ID --> PERSON.ID
CHILD_ID --> PERSON.ID
sin directrices específicas, Hibernate Tools se generará automáticamente una clase que tiene este aspecto :
public class Person {
private Long id;
private Set<Person> personsForParentId = new HashSet<Person>(0);
private Set<Person> personsForChildId = new HashSet<Person>(0);
}
Dado que eso no es muy útil cuando se codifica para determinar cuál es el conjunto de los padres y que es el conjunto de niños, me gustaría cambiar el nombre de ellos como 'padres' y 'niños'.
He estado editando hibernate.reveng.xml para intentar forzarlo a cambiar el nombre de ese campo, pero no puedo encontrar algo que funcione. No estoy seguro de si estoy especificando un cambio en la tabla PERSON, la tabla PERSON_PERSON, o ambos, y qué atributos cambiar.
Estoy acostumbrado a configurar estas clases de forma manual, pero en este proyecto no tengo control sobre el proceso de compilación, así que tengo que conformarme con lo que Hibernate Tools genera, así que realmente solo tengo que hacer Hibernate Tools para hacer lo que quiero.
Estoy bastante seguro de que está utilizando metadatos SQL para generar esos. Por lo tanto, no creo que pueda hacer que el proceso automatizado se desvíe de lo que tiene. – javamonkey79