springdata jpa基本注解

Springdata jpa的基本注解

1:@dEntity

@Entity注解用在实体类声明语句前,说明该Java类为实体类,将映射到指定的数据库表。

2:@Table

@Table注解用在当实体类与其映射的数据库表名不同名时,需要使用@Table标注说明,可与@Entity并列使用
@Table标注的常用属性是name,指明数据库表名。
@Table标注还有catalog和schema属性,分别用来设置表所属的数据库目录或模式

3:@Id

@Id用于声明一个实体类的属性映射为数据库的主键列,该属性常置于属性声明之前,可与声明语句同行。
@Id标注也可置于属性的getter方法前。

4:@GeneratedValue

@GeneratedValue用于标注主键生成策略,通过strategy属性指定,默认情况下jpa自动选择一个最合适底层数据库的主键生成策略。
egg:

sqlserver对应identity,mysql对应autoincrement。

在javax。persistence。Generationtype中定义的集中策略
1:identity:采用数据库ID自增长的方式来自增主键字段
2:auto:jpa自动选择合适的策略
3:sequence:通过序列产生主键
通过@sequenceGenerator注解指定序列名
4:table:通过表产生主键,框架借由表模拟序列产生主键

5:@Basic

@Basic标注表示一个简单属性到数据库表的字段的映射,对于没有任何标注的getterXxxx()方法,默认使用@basic
fetch:表示该属性的读取策略,有enger和lazy。分别表示主枝抓取和延迟加载
optional:表示该属性是否允许为null

6:@column

当实体类的属性与其映射的数据库表的列不同名需要用@column说明,常用于实体的属性声明语句前。
@column常用属性为name,用于设置映射数据库表的列名
还有unique.nullable.length等属性。
@column标注的columnDefinition属性:表示该字段在数据库中实际类型。
常用URM框架可根据属性类型自动判断数据库中字段类型,(String默认映射类型为varchar)。
@column标注可用于属性getter方法前。

猜你喜欢

转载自www.cnblogs.com/wenqihe/p/12784902.html