Как отобразить динамическое отношение в JPA - PullRequest
0 голосов
/ 18 августа 2011

У меня есть субъект для хранения доменов выбора, например, для выпадающих списков:

@Entity
public class Selection {
    @Id
    private long id;

    private String category;
    private long index;
    private String text;
}

В соответствующей таблице есть записи для нескольких категорий:

ID    Category   Index   Text
-----------------------------------
1     Status     1       New
2     Status     2       Active
3     Status     3       Obsolete
4     Type       1       Simple
5     Type       2       Complex
[...]

Теперь у меня есть Сущности, которые должны отображать специальные категории Выборов:

@Entity
public class EntityWithStatus {
    @Id
    private long id;

    @JoinColumn(name="status_id", referencedColumnName="index", nullable=false)
    private Selection status;
}

Статус «Новый» имеет индекс 1, но этот индекс также применяется к типу «Простой». Я не хочу отображать первичный ключ выделения. Есть ли способ ограничить это сопоставление конкретными категориями?

Один способ, который я нашел, - это использовать Наследование, используя категорию в качестве дискриминатора. Но это означало бы, что я должен добавить сущности / классы для каждой категории. Я хотел бы предотвратить это ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...