5

Ho un progetto che utilizza Hibernate in un database Oracle per il quale tutte le entità sono generate direttamente da Hibernate Tools sotto il controllo di un file hibernate.reveng.xml.Come posso cambiare il nome del set molti-a-molti autoreferenziale usando hibernate.reveng.xml?

ho una classe che ha una relazione molti-a-molti relazione a se stesso utilizzando una tabella intermedia, in questo modo:

PERSON: 
    ID 
    ... 

PERSON_PERSON: 
    PARENT_ID --> PERSON.ID 
    CHILD_ID --> PERSON.ID 

Senza alcun direttive specifiche, Hibernate Tools genererà automaticamente una classe che assomiglia a questo :

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

Dal momento che non è molto utile quando si scrive codice per determinare quale è il set principale e che è il set bambino, mi piacerebbe rinominare loro come 'genitori' e 'figli'.

Ho modificato il file hibernate.reveng.xml per provare a forzarlo a rinominare quel campo, ma non sono in grado di trovare qualcosa che funzioni. Non sono sicuro se sto specificando una modifica sulla tabella PERSON, la tabella PERSON_PERSON o entrambe e quali attributi modificare.

Sono abituato a impostare manualmente queste classi, ma su questo progetto non ho il controllo sul processo di compilazione, quindi devo accontentarmi di ciò che viene generato da Hibernate Tools, quindi devo davvero solo fai in modo che gli strumenti di ibernazione facciano ciò che voglio.

+1

Sono quasi sicuro che stia utilizzando i metadati SQL per generarli. Quindi, non penso che sarai in grado di far deviare il processo automatico da quello che hai. – javamonkey79

risposta

1

sul file hibernate.reveng.xml provare a contrassegnare colonne correlate come questa;

<column name="personsForParentId" property="parents" /> 
+0

Il progetto per il quale questa domanda era per è passato da molto tempo, quindi non posso confermare, ma se c'è un consenso qui posso impostare come risposta corretta. – Jon

Problemi correlati