Возможно ли сопоставить единый объект с несколькими таблицами с использованием JPA?

У меня есть прежний домен базы данных, который я не могу изменить, но было возможно задумать объект домена для решения моей проблемы.

Таблицы устаревших: Таблица 1 (ID, VALUE) ТАБЛИЦА 2 (ID, ДАТА) ТАБЛИЦА 3 (ID, ОПИСАНИЕ)

Домен: NewConceptDomain {int value; Дата; Строковое описание; }

Как я могу сопоставить новый NewConceptDomain с помощью JPA?

Ответы

Ответ 1

Используйте @SecondaryTable (http://en.wikibooks.org/wiki/Java_Persistence/Tables#Multiple_tables)

@Entity
@Table(name="TABLE1")
@SecondaryTables({
  @SecondaryTable(name="TABLE2",
    pkJoinColumns = @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID")
  ),
  @SecondaryTable(name="TABLE3",
    pkJoinColumns = @PrimaryKeyJoinColumn(name="ID", referencedColumnName="ID")
  )}
)