У меня есть любопытная головоломка с объектно-реляционным отображением с использованием Java и Hibernate.
У нас есть существующая схема, которая выглядит примерно так:
create table foo (id int8, /* ... */ primary key (id));
create table bar (id int8, foo int8, /* ... */ primary key (id));
alter table bar add constraint fk_foobar foreign key (foo) references foo;
Обычно вы отображаете это, используя ManyToOne
отношение.
class Foo { /* ... */ }
class Bar { private Foo foo; /* ... */ }
Но один из парней из моей команды хочет отобразить это в отношениях наследования:
class Foo { /* ... */ }
class Bar extends Foo { /* ... */ }
Есть ли способ осуществить это с помощью Hibernate?
Редактировать: Важным моментом является то, что таблица bar
имеет столбец внешнего ключа foo
, который отличается от столбца идентификации bar
.