使用这些批注的重点是要独立于数据库提供程序,而不是重新生成JAR存档。
如果我坚持不懈,那么@Table (name = myDatabase.myTableName)我首先看不到使用hibernate的意义。如果确实决定切换到其他数据库提供程序,则必须修改@Table (name = myDatabase.myTableName)类中的注释,然后重新编译应用程序。
@Table (name = myDatabase.myTableName)
@Table 批注:@Table批注允许您指定用于将实体保留在数据库中的表的详细信息。
@Table批注提供了四个属性,使您可以覆盖表的名称,目录和架构,并对表中的列实施唯一约束。现在,我们仅使用表名称EMPLOYEE。
@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