JPA wylaczenie tworzenie relacji

JPA wylaczenie tworzenie relacji
DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 145
0

Jest możliwość wyłączenia w JPA (EclipseLink) tworzenia kluczy obcych na poziomie bazy danych? Chodzi mi o to żeby w encjach mieć te powiązania oznaczone ale żeby EclipseLink nie tworzył ich po stronie bazy.

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5550
0

Adnotacje możesz nadpisywać xmlami, tak przynajmniej jest w Hibernate.
Pozostaje jeszcze pytanie po co?
Po co w Encjach chcesz mieć adnotacje dla JPA, których implementacja JPA ma nie używa?
Jak ktoś będzie po tobie czytać ten kod to będzie "WTF na WTF".
Jeśli chcesz mieć w kodzie informacje tylko dla siebie to po to są komentarze

Edit: Można też wbić się w kodzie w framework JPA po procesie wczytywania konfiguracji (i znów tak przynajmniej jest w Hibernate)

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 145
0

Ogólnie nie chce takiego mechanizmu stosować ale ktoś zapodał dobrą rozkmine w pracy i ciekawi mnie czy jest to możliwe. Nie chodzi mi oto żeby relacje nie działały, tylko aby one nie istniały po stronie bazy a tylko w JPA. Czyli encje są normalnie oznaczone adnotacjami razem z relacjami i JPA będzie je uwzględniał ale na bazie już tych relacji nie będzie (bez kluczy obcych na bazie)

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5550
0

w Hibernate jest metoda LocalSessionFactoryBean.buildSessionFactory (https://docs.spring.io/spring/docs/4.1.5.RELEASE/javadoc-api/org/springframework/orm/hibernate4/LocalSessionFactoryBean.html#buildSessionFactory-org.springframework.orm.hibernate4.LocalSessionFactoryBuilder-)
za pomocą której możesz wykonać "niestandarwą inicjalizację" a w praktyce mnóstwo pozmieniać. Podejrzewam że w EclipseLink bedzie podobnie

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.