У меня есть следующий дизайн БД:
Действительный XHTML http://www.kawoolutions.com/media/geoareas.png
Как видите, все государства, страны и континенты являются вложенными таблицами GeoAreas.Интересный факт заключается в том, что государства и страны меняют свои первичные ключи с того, который (предположительно) унаследован от GeoAreas.
Цель: Штаты и страны также используются для почтовых адресов, и я не хочу использовать GeoAreas.идентификатор для этого (ссылки на Штаты и страны не показаны).
Вопрос заключается в следующем: поддерживается ли такая конструкция JPA?Только JPA 2.0?Совсем нет?
Проблема, которую я вижу, состоит в том, как аннотация @Id (используемая для всех отображений) будет указываться, так как класс GeoArea будет выглядеть примерно так:
public abstract class GeoArea implements Serializable
{
@Id
@Column(name = "id")
protected Integer id;
...
}
, а подкласс -далее требуется указать другой альтернативный @Id для некоторых свойств, например
public class Country extends GeoArea
{
@Id
@Column(name = "iso_code")
private String isoCode;
...
}
Может ли кто-нибудь указать мне спецификацию JPA, где он отрицает такой сценарий, если?