@Table

声明此对象映射到数据库的数据表,通过它可以为实体指定表(table)。
属性:

  1. name:用来命名,当前实体类对应得数据库表名。
  2. uniqueConstraints:用来批量命名唯一键。

    @Column

    属性:
  • unique:设置当前字段属性是否为唯一,true为唯一。

    @Id

  • 标注用于声明一个实体类的属性映射为数据库的主键列。

  • 该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。
  • 也可置于属性的get方法前。

    @GeneratedValue

    用于标注主键的生成策略,通过strategy属性指定。默认情况下,jpa自动选中一个最适合底层数据库的主键生成策略:SQLServer对应identity,MySQL对应autoincrement。
    javax.persistence.GenerationType中定义了以下几种可供选择的策略:
  1. IDENTITY:采用数据库id自增长的方式来自增主键字段,Oracle不支持这种方式。
  2. AUTO:JPA自动选择合适的策略,是默认选项。
  3. SEQUENCE:通过序列产生主键,通过@SequenceGenerator注解指定序列名,MySQL不支持这种方式。
  4. TABLE:通过产生主键,框架接由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。