JPA中常用的注解、默认继承方法和关键字抽象方法
一、JPA中的常用注解:
1、@Entity:标记在类名上面,作为实体类的标识;
2、@Table:当实体类与其映射的数据库表名不相同时需要使用 @Table 标注说明,该标注与 @Entity 标注并列使用,置于实体类声明语句之前,可写于单独语句行,也可与声明语句同行。
@Table 标注的常用选项是 name,用于指明数据库的表名。 @Table 标注还有一个两个选项 catalog 和 schema 用于设置表所属的数据库目录或模式,通常为数据库名。
uniqueConstraints 选项用于设置约束条件,通常不须设置;
3、@Id:设置对象表示符,标识的实体类的属性映射对应表中的主键;
4、@GeneratedValue:设置标识符的生成策略,常与@Id 一起使用。
参数:strategy 指定具体的生成策略:
方式一:@GeneratedValue(strategy=GenerationType.AUTO) 也是默认策略, 即写成@GeneratedValue也可;类似于 hibernate 的 native 策略,生成方式取决于底层的数据库。
方式二:@GeneratedValue(strategy = GenerationType.IDENTITY)指定“自动增长”策略,适用于 MySQL; 方式三:@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = “seqtblperson”)指定“序列”策略,常用于 Oracle,其中 generator 表示生成器的名字。 而且还要指定@SequenceGenerator(name =“seqtblperson”, sequenceName = “seqtblperson”, allocationSize = 1)注解配合使用。 其中 name 指定生成器的名字(与 generator 的值一样),sequenceName 指定数据库中定义序列的名字,allocationSize 指定序列每次增长 1。 5、@Column:描述数据库表中该字段的定义,具有以下属性。 (1)name:表示数据库表中该字段的名称,默认情形属性名称一致。 (2)nullable:表示该字段是否允许为 null,默认为 true。 (3)unique:表示该字段是否是唯一标识,默认为 false。 (4)length:表示该字段的大小,仅对 String 类型的字段有效。 (5)insertable:表示在 ORM 框架执行插入操作时,该字段是否应出现 INSETRT 语句中,默认为 true。 (6)updateable:表示在 ORM 框架执行更新操作时,该字段是否应该出现在 UPDATE 语句中,默认为 true。 对于一经创建就不可以更改的字段,该属性非常有用,如对于 birthday 字段。 (7)columnDefinition:表示该字段在数据库中的实际类型。通常 ORM 框架可以根据属性类型自动判断数据库中字段的类型, 但是对于 Date 类型仍无法确定数据库中字段类型究竟是 DATE,TIME 还是TIMESTAMP。 此外,String 的默认映射类型为 VARCHAR,如果要将 String 类型映射到特定数据库的 BLOB或 TEXT 字段类型,该属性非常有用。 (8)@OrderBy:在加载数据的时候可以为其指定顺序。 (9)@Transient:表示该属性并非一个到数据库表的字段的映射,ORM 框架将忽略该属性。 如果一个属性并非数据库表的字段映射。就务必将其标示为@Transient。否则。ORM 框架默认其注解为@Basic 二、默认继承方法: 1、Spring Data JPA 是 Spring Data 技术下的子项目,使用 Spring Data JPA 访问数据只需要数据访问层接口实现 JpaRepository 接口即可。 JpaRepository 接口继承了 PagingAndSortingRepository,QueryByExampleExecutor 接口,所以拥有了它们的 CRUD 操作功能。 2、常用的接口方法:
三、关键字抽象方法:
1、方法命名约定:
(1)条件属性通过条件关键字连接。
(2)条件属性的首字母必须大写。
2、命名案例及解释:
(1)And — 等价于 SQL 中的 and 关键字,比如 findByUsernameAndPassword(String user, Striang pwd)根据用户名字和密码查找。
(2)Or — 等价于 SQL 中的 or 关键字,比如 findByUsernameOrAddress(String user, String addr)根据用户名或地址查找;
(3)Between — 等价于 SQL 中的 between 关键字,比如 findBySalaryBetween(int max, int min)查询薪资在min 和 max 之间;
(4)LessThan — 等价于 SQL 中的 “<”,比如 findBySalaryLessThan(int max);
(5)GreaterThan — 等价于 SQL 中的”>”,比如 findBySalaryGreaterThan(int min);
(6)IsNull — 等价于 SQL 中的 “is null”,比如 findByUsernameIsNull();
(7)IsNotNull — 等价于 SQL 中的 “is not null”,比如 findByUsernameIsNotNull();
(8)NotNull — 与 IsNotNull 等价;
(9)Like — 等价于 SQL 中的 “like”,比如 findByUsernameLike(String user);
(10)NotLike — 等价于 SQL 中的 “not like”,比如 findByUsernameNotLike(String user);
(11)OrderBy — 等价于 SQL 中的 “order by”,比如 findByUsernameOrderBySalaryAsc(String user);
(12)Not — 等价于 SQL 中的 “! =”,比如 findByUsernameNot(String user);
(13)In — 等价于 SQL 中的 “in”,比如 findByUsernameIn(Collection userList) ,方法的参数可以是 Collection类型,也可以是数组或者不定长参数;
(14)NotIn — 等价于 SQL 中的 “not in”,比如 findByUsernameNotIn(Collection userList) ,方法的参数可以是Collection 类型,也可以是数组或者不定长参数;
- Java基础加强重温_02:接口(成分:抽象方法、常量、默认方法、静态方法、私有方法,实现、继承)、final关键字(修饰类、方法)、单例设计模式(懒汉、饿汉)、枚举(底层原理、编译与反编译)
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- 转载:注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- 2.0 面向对象 类与实例(关键字)、封装、继承、多态(虚方法,抽象类,抽象方法,接口)
- 2.SpringDataJPA常用接口及基础方法
- hadoop2.x常用端口、定义方法及默认端口、hadoop1.X端口对比
- JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
- Play Framework JPA常用注解
- 方法的重载与重写的关系(区别);static关键字;单例设计模式;继承;
- JPA常用注解以及Hibernate验证
- Java 8 默认方法和多继承
- 抽象方法、接口、继承、多态、图形计算器
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(四):使用 命名空间 简化配置
- Java 8 默认方法和多继承
- 【极客营】Hibernate JPA注解开发-多表常用注解
- hadoop2.x常用端口、定义方法及默认端口、hadoop1.X端口对比
- JPA常用注解