JPA 中@Table注释有什么用


使用这些

注释的全部意义在于独立于数据库提供程序,而不是重新生成 JAR 归档。

如果我硬核@Table (name = myDatabase.myTableName)我首先看不出使用休眠的意义。如果我决定切换到不同的数据库提供程序,那么我将不得不修改我的类中的@Table (name = myDatabase.myTableName)注释,并重新编译应用程序。

@Table 注释:@Table批注允许您指定将用于在数据库中保存实体的表的详细信息。

@Table批注提供了四个属性,允许您覆盖表的名称、目录和架构,并对表中的列强制实施唯一约束。现在我们只使用表名,即员工。

@Entity
@Table(name = "EMPLOYEE")
public class Employee {
   @Id @GeneratedValue
   @Column(name = "id")
   private int id;
}

只需在此处添加表名,数据库名称就不需要在java代码中给出。 http://docs.oracle.com/javaee/5/api/javax/persistence/Table.html

最新更新