JPA 和 Hibernate 注释说明列表


下面列出了 JPA(Java Persistence API)和 Hibernate 中常用的注释。

JPA 注释

  • @Entity:指定类是一个实体,并映射到数据库表。 
  • @Table:指定与实体关联的表名。 
  • @Id:将字段标记为实体的主键。 
  • @GenerateValue:指定生成主键值的策略。 
  • @Column:指定数据库列的映射。 
  • @Transient:排除某个字段被持久保存在数据库中。 
  • @OneToOne:定义两个实体之间的一对一关系。 
  • @OneToMany:定义两个实体之间的一对多关系。 
  • @ManyToOne:定义两个实体之间的多对一关系。 
  • @ManyToMany:定义两个实体之间的多对多关系。 
  • @JoinColumn:指定关系的外键列。 
  • @Embedded:指定实体的持久字段或属性,其值为可嵌入类的实例。 
  • @NamedQuery:声明实体的命名查询。 
  • @NamedNativeQuery:声明实体的命名本机 SQL 查询。 
  • @Version:指定乐观锁的版本字段。 
  • @Temporal:指定日期或时间字段的类型。 
  • @Lob: @Lob注释用于将属性或字段映射到数据库中的大对象列。

Hibernate 注释

  • @Cascade:指定关联的级联行为。 
  • @Fetch:指定关联的获取策略。 
  • @LazyToOne:指定一对一关联的延迟加载行为。 
  • @LazyCollection:指定集合关联的延迟加载行为。 
  • @BatchSize:指定加载集合关联的批量大小。 
  • @Cacheable:启用实体或集合的缓存。 
  • @Cache:指定实体或集合的缓存区域和缓存策略。 
  • @Formula:使用 SQL 公式定义计算属性。 
  • @NaturalId:将属性标记为自然标识符。 
  • @Filter:定义要应用于集合关联的过滤条件。 
  • @Where:指定要应用于集合关联的 SQL WHERE 条件。 
  • @Type:指定属性的 Hibernate 类型。 
  • @Any:将多态关联映射到任何实体类型。 
  • @TypeDef:定义自定义 Hibernate 类型。