Законно ли иметь класс JPA верхнего уровня, который является абстрактным и не имеет дискриминатора? - PullRequest
1 голос
/ 11 июня 2011

Например, допустим ли следующий класс JPA верхнего уровня:

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(
    name = "type",
    discriminatorType = DiscriminatorType.STRING
)
public abstract class Person implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    public Long getId() {
        return id;
    }
}

Ответы [ 2 ]

0 голосов
/ 11 июня 2011

Да, это совершенно законно. Согласно спецификации (JPA 2.0) DiscriminatorValue относится только к конкретному классу сущностей.

0 голосов
/ 11 июня 2011

Не могу понять, почему этого не должно быть. Попробуйте.

Значение дискриминатора указанного столбца дискриминатора будет именем объекта конкретной реализации (й), если аннотация значения дискриминатора не было указано для объектов (как описано в спецификации).

Это отвечает на ваш вопрос?

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