EclipseLink - Discriminator i kolumna DTYPE

0

Witam,
mam taki problem mianowicie mam abstrakcyjna klasę "Person" i dziedziczącą po niej klasę "Employee" i gdy tworze obiekt klasy Employee to w tabeli w bazie danych jest tworzona dodatkowa kolumna DTYPE która tak naprawdę nie jest potrzebna, da się jakoś tak to zrobić żeby nie tworzyła się ta dodatkowa kolumna (nie chce zmieniać struktury klas)

@Entity
@Table(name="Person")
public abstract class Person { .... }

@Entity
class Employee extends Person { ... }  

0

Nie musisz zmieniać struktury tabeli, po prostu dodaj adnotację @DiscriminatorValue("Employee") na klasie Employee. Jpa musi jakoś rozróżniać klasy dziedziczące.

0

ale przeciez to nic nie zmieni, nadal będzie kolumna DTYPE w bazie.

0

No to możesz użyć adnotacji @MappedSuperclass tak jak tutaj:

http://docs.oracle.com/javaee/7/api/javax/persistence/MappedSuperclass.html

i trzymać każdą klasę pochodną w osobnej tabeli.

0

a jest opcja żeby nie było tej dodatkowej kolumny i żeby była jedna tabela dla tych wszystkich klas potomnych ?

0

Nie ma takiej opcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1