拥有一个抽象且没有鉴别器的顶级JPA类是否合法?

时间:2011-06-11 09:48:36

标签: jpa

例如,以下顶级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 :(得分:0)

我不能没有理由不应该这样做。尝试一下。

如果未在实体上指定了discriminatorvalue注释(如规范中所述),则指定的鉴别符列的鉴别符值将是具体实现的实体名称。

这会回答你的问题吗?

答案 1 :(得分:0)

是的,这完全合法。根据规范(JPA 2.0),DiscriminatorValue仅属于具体实体类。