使用这些注释的整个目的是独立于数据库提供程序,并且不需要重新生成JAR存档文件。
如果我硬编码@Table(name = myDatabase.myTableName)
,那么我就看不到使用Hibernate的意义。如果我决定切换到不同的数据库提供程序,则必须修改我的类中的@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
@Table(name="CUST", schema="RECORDS")
中。 - Emily
@Table
注解有其用途。我将忽略那些教授如何在Java类中使用注解的在线教程。它们是误导性的。 - Emily