@Entity 注解用于类上面,用来指定该类是一个实体。例如:
@Entity @Table(name = "users") public class User { //... }
@Entity 注解注解提供了一个可选的 name 属性,用来指定实体名称。name 默认为实体类的非限定名称。此名称用于引用查询中的实体。例如:
@Entity("userEntity") @Table(name = "users") public class User { //... }
注意:该名称不得为 Java Persistence 查询语言中的保留文字。
如果 @Entity 注解不与 @Table 注解结合,则默认将实体名称转换成小写后作为表名称。
如果使用 @Entity 注解的 name 属性且没有与 @Table 结合,则默认将 name 属性的值转换成小写后作为表名称,如下示例:
// 如果 @Entity 不指定 name 属性,则将使用实体名称作为表名,即 userentity @Entity public class UserEntity { //... } // 如果 @Entity 使用 name 属性指定实体名称,则将使用指定的实体名称作为表名,即 ue @Entity(name = "UE") public class UserEntity { //... }
注意,@Entity 注解必须与 @Id 注解结合使用,否则将抛出“Persistent entity 'User' should have primary key less... (Ctrl+F1)”错误。如下图: