У меня есть субъект для хранения доменов выбора, например, для выпадающих списков:
@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, но этот индекс также применяется к типу «Простой». Я не хочу отображать первичный ключ выделения. Есть ли способ ограничить это сопоставление конкретными категориями?
Один способ, который я нашел, - это использовать Наследование, используя категорию в качестве дискриминатора. Но это означало бы, что я должен добавить сущности / классы для каждой категории. Я хотел бы предотвратить это ...