在JPA中使用@Table注释有什么用?

Emi*_*ily 6 hibernate jpa

使用这些注释的重点是独立于数据库提供程序,而不是重新生成JAR存档.

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

Sud*_*kar 5

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

@Table批注提供了四个属性,使您可以覆盖表的名称,目录和架构,并对表中的列施加唯一约束。现在,我们仅使用表名称EMPLOYEE。

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

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