@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)”错误。如下图:
