Hibernate笔记(映射持久化类)

Hibernate学习(映射持久化类)

第一个实体类的映射

@Entity
@Table(name = "t_item")
public class Item {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    public Long getId() {
        return id;
    }
}

这是一个最基础的实体类,使用@Entity 注解标记为"可持久化",并且带有一个用于数据库标识符属性@Id映射.@Table 注解重写JPA 默认表名为"t_item"

配置键生成器

当保存实体实例时,通常你会希望系统生成一个主键值,因此你会在@Id旁边编写@GeneratedValue注解,JPA使用javax.persistence.GenerationType枚举标准化集中值生成策略,可以使用@GeneratedValue(strategy =...)进行选择:

  1. GenerationType.AUTO Hibernate会选择一种合适的策略,询问你已配置数据库的那种SQL方言是最佳的,默认值.
  2. GenerationType.SEQUENCE HIbernate 预期(并且会创建,如果使用工具的话)你的数据库中存在一个名为HIBERNATE_SEQUENCE的序列,该序列会在每个INSERT之前被单独调用,已生成顺序数字值.
  3. GenerationType.IDENTITY Hibernate预期(并且会在表DDL中创建)一个特殊的自增长主键列,该列会在数据库INSERT时自动生成一个数字值.
  4. GenerationType.TABLE HIbernate将在您的数据库架构中使用一个额外的表,这个表会保存下一个数字主键值,每行对应一个实体类,在INSERT之前.该表将被读取并做相应的更新.

你可能感兴趣的:(Hibernate笔记(映射持久化类))