Używam narzędzi Hibernuj 3.40 w Eclipse (Helios). Próbuję generować POJO z mojego DB (MSSQL 2008) w stylu EJB3 (tj. Adnotacje JPA2.0).
Powiedzmy, że mam dwie tabele A
i B
, gdzie jest klucz obcy od A
do B
.
Generuje to domyślnie POJO dla A
, który ma B
jako członka (jego "nadrzędny") i POJO dla B
, który ma Set<A>
jako członka (jego "dzieci").
Chciałbym wiedzieć, w jaki sposób mogę kontrolować rev-eng, aby utworzyć tylko jedną stronę powiązania (mam różne przypadki użycia, więc zasadniczo wszystkie trzy opcje są dla mnie ważne).
Nie chcę używać plików hbm.xml jak pracuję z adnotacji i JPA2.0 ale mogę podać jakieś metadane na temat procesu inżynierii odwrotnej do hibernacji poprzez hibernae.reveng.xmlProblem z inżynierią wsteczną skojarzenia wielu do jednego z narzędziami hibernacji
Próbowałam konfigurowanie atrybutu foreign-key
i definiowanie tam wartości exclude=true
, ale zapewniało to tylko połowę odpowiedzi dla jednego scenariusza. To wygenerowało POJO A
z elementem int bPK, które jest znośne i zrozumiałe, ale wygenerowany obiekt POJO o numerze B
nie został skompilowany, ponieważ adnotacja one-to-many
ma nieprawidłowy atrybut; Numer mappedby="unresolved"
ze względu na to, że A
nie ma już właściwości, której hibernacja odsłania, może być odwzorowany.
Obecnie nie mogę tworzyć stowarzyszeń jednokierunkowych i byłbym wdzięczny za każdą pomoc.
dzięki. Szkoda, że nie było lepszego sposobu, aby to zrobić, niż aby zakodować te wymagania w tej "niejasnej" klasie, ale przynajmniej jest to działające rozwiązanie. – Ittai
Mam ten sam problem, ale twoja odpowiedź jest specyficzna dla "___", nie jest to odpowiedź ogólna. Dzięki i tak – Kummo