JPA表是ID是强制性的吗?

时间:2013-01-27 07:57:23

标签: java jpa eclipselink

我看到每个JPA表中都定义了ID类型。这是强制性的吗? 或者有没有我可以在没有ID成员的情况下上课的选项?

2 个答案:

答案 0 :(得分:1)

JPA要求使用Id,但不要求映射中指定的Id与数据库中的Id匹配。

例如,您可以将没有id的表映射到jpa实体。要做到这一点,只需指定“Jpa Id”是所有列的组合。

请注意,出于性能原因,在Jpa中指定为Id的列上有一个好的索引非常重要

答案 1 :(得分:0)

在JPA中,Id(即主键)是强制性的。作为JSR317(Java Persistence API,可以下载here)第2.4章说(第一句):

Every entity must have a primary key
除了Id注释之外,还可以对复合主键使用EmbeddedId注释。