Attualmente sto bloccato con quello che sembra essere un problema molto semplice, ma io proprio non riesco a trovare un modo per aggirare:Come mappare una classe di diverse tabelle usando Hibernate/JPA annotazioni
ho 2 identici tabelle:
- tbl_creditcard_approved_txns
- tbl_creditcard_declined_txns
I campi in entrambi sono iden tical, e ho una classe - Transaction
che viene utilizzata per rappresentare tutti i campi appropriati nelle tabelle.
Sto provando a mappare due entità diverse (una per ogni tabella) alla classe precedente. Nel vecchio mondo, avrei creato due file hbm.xml
, uno per ogni tabella e mapparli entrambi a Transaction
. Quindi utilizzerei il nome dell'entità durante la persistenza per garantire che l'oggetto venga mantenuto nella tabella corretta, a seconda della circostanza.
Attualmente sto cercando di utilizzare le annotazioni al momento per ottenere lo stesso risultato, ma finora non ho avuto fortuna nel mappare le due entità in una classe singola. Ciò è effettivamente possibile?
Attualmente sto utilizzando un approccio diverso in quanto ho estratto tutti i campi comuni (nomi di colonna identici) in uno @MappedSuperClass
e ho creato due classi separate (una per ogni entità) che si estendono dalla super classe (queste le classi hanno solo gli stessi campi con nomi di colonne diversi, dove applicabile).
possibile duplicato di [JPA, Come utilizzare la stessa classe (entità) per mappare tabelle diverse?] (Http://stackoverflow.com/questions/997203/jpa-how-to-use-the-same-class -entity-to-map-different-tables) –
Pascal, Questa è davvero l'intenzione, l'unica differenza è che vorrei che due entità diverse fossero mappate sulla stessa classe. A differenza di JPA, in ibernazione, le classi possono essere disparate dalle entità. In sostanza, tuttavia, sto davvero cercando di mappare una classe su due tabelle. – Jay