SpringDataJPA自定义的查询方法 定义规范
       And 并且
   Or     或
     Is,Equals    等于
   Between     两者之间
   LessThan      小于
   LessThanEqual   小于等于
   GreaterThan     大于
   GreaterThanEqual  大于等于
   After    之后(时间) >
  Before    之前(时间) <
  IsNull        等于Null
  IsNotNull,NotNull   不等于Null
  Like    模糊查询。查询件中需要自己加 %
  NotLike 不在模糊范围内。查询件中需要自己加 %
  StartingWith  以某开头
  EndingWith   以某结束
  Containing   包含某
  OrderBy  排序
  Not    不等于
  In     某范围内
  NotIn   某范围外
  True    真
  False    假
  IgnoreCase  忽略大小写

Repository 定义方法的时候,查询必须以 find,read,get开头,条件属性用关键字链接,条件属性首字母大写,级联查询
如果当前实体类有符合条件的属性,那么优先使用,而不使用级联属性,使用级联属性,之间用_进行连接.

如果想在@Query使用原生的sql语句,那么需要 @Query(value=("SQL语句"), nativeQuery=true

Specification<> specification = new Specification() {},一般用于组合查询,一般用它的匿名内部类.

root代表查询的实体类,query可以从中得到root对象,告诉jpa查询哪一个实体类,还可以添加查询条件,还可以结合
EntityManager对象 得到最终查询的 TypedQuery对象.

CriteriaBuilder对象 用于创建 Criteria相关对象的工厂,可以从中获取到 Predicate对象.

里面的 toPredicate 方法需要重写,返回 Predicate对象,这个对象代表一个查询条件.

JPA常用注解

@Entity 将该类标记为实体类,映射到指定的数据库的表

@Table name:数据库的表名

@Id 声明一个属性映射为数据库表的主键列,可以标记在属性上也可以标记在set方法上.

@GeneratedValue 标注主键生成策略, strategy:GenerationType.AUTO(默认自动) GenerationType.IDENTITY(数据库id自增长)

@Basic 简单的属性到表字段的映射, getXxx() 方法会默认加上这个注解

@Column name:字段名,unique:唯一约束,nullable:非空约束,length:长度

@Transient 如果一个属性不需要映射为表中的字段,name需要加这个注解,否则会默认标记为@Basic.(一般用于工具方法)

@Temporal TemporalType:TIMESTAMP(年月日时分秒) DATE(年月日)

@JoinColumn name:映射外键的字段名(映射的表直接把表的实体类作为数据类型,如 private 实体类 属性名)

@ManyToOne 单向多对一关系 fetch:FetchType.LAZY(修改关联属性加载策略为懒加载)

@OneToMany 单向一对多关系

@OneToOne 单向一对一,一对一关系时,@JoinColumn 可以加上一条 unique=true 保持唯一性

Java : JPA相关以及常用注解的更多相关文章

  1. JPA实体的常用注解

    @Entity 标注于实体类上,通常和@Table是结合使用的,代表是该类是实体类@Table 标注于实体类上,表示该类映射到数据库中的表,没有指定名称的话就表示与数据库中表名为该类的简单类名的表名相 ...

  2. [Java 开发利器Lombok] 常用注解演示

    在以往的对象模型编码时,我们需要写一大堆的get/set以及不同的构造函数等.Lombok为我们提供了一个非常好的插件形式. 在大多数的项目中,只需要使用到以下集中Annotation就足够了,如果需 ...

  3. Java多线程相关的常用接口

    Runnable 是一个接口,里面只声明了一个方法run();返回值为void所以无法拿到执行完的结果.只能通过共享变量或者线程通信来搞定.Future就是对具体的Runable或者Callable任 ...

  4. java深入技术九 (注解)

    java注解 (Annotation) 一般起到说明,配置的作用,在java.lang.annotation 定义,本质上没有增强java的能力 1.常用注解:@Override,强制编译器检查标注的 ...

  5. JAVA常用注解

    摘自:https://www.cnblogs.com/guobm/p/10611900.html 摘要:java引入注解后,编码节省了很多需要写代码的时间,而且精简了代码,本文主要罗列项目中常用注解. ...

  6. Java 注释类之常用元注解

    Java 注释类之常用元注解 自定义Java注释类时,我们使用方式如下:   @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD ...

  7. [刘阳Java]_Spring常用注解介绍_第6讲

    Spring的注解是在Spring2.5的版本中引入的,目的简化XML配置.在企业开发过程中使用注解的频率非常高,但是学习注解的前提是大家一定要对Spring基于XML配置要熟悉,这是我个人建议,因为 ...

  8. Java 基础【11】@注解

    1.注解简介 JDK 1.5 中引入的 java.lang.annotation 包提供注解编程支持,可以让类在编译.类加载.运行时被读取,并执行相应的处理. 在 Java EE应用的时候,总是免不了 ...

  9. JPA相关知识

    这篇文章是摘自Patrick Linskey的一篇文章,主要是关于JPA相关内容的问答,相信JPA面试会碰到很多这里面的问题 问题:EJB专家团队是如何摆脱事务描述符的? 回答:在会话bean和消息驱 ...

随机推荐

  1. SharePoint Designer - View

    1. 数据视图 可以将图片.新闻等列表(如: Announcement)用以下视图显示,具体做法可以参考这篇文章,但需要强调几个地方: 1.1 选择了视图样式后,需要点击“自定义” --> &q ...

  2. Jmeter各部件的作用

    JMeter主要组件介绍 1.测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 2.线程组(Thread Group)代表一定数量的并发用户 ...

  3. SqlServer50条常用查询语句

    Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ...

  4. SQL 数据匹配更新

    萌新的成长之路! 最近遇到的一个需求是需要将两张关联的表的数据进行匹配(dbo.SystemUser[系统用户表]:dbo.V_Temp[系统权限视图]),即通过匹配用户ID与系统ID(拥有的系统ID ...

  5. 使用WindowsService为宿主实装WCF 服务

    1. 写WCF服务   创建一个接口类,与一个实现类.接口类上打上[ServiceContract]标签,需要暴露的服务方法上打上[OperationContract] (注意:增加System.Se ...

  6. 【Spring实战】—— 2 构造注入

    本文讲解了构造注入以及spring的基本使用方式,通过一个杂技演员的例子,讲述了依赖注入属性或者对象的使用方法. 如果想要使用spring来实现依赖注入,需要几个重要的步骤: 1 定义主要的类和需要分 ...

  7. 关于simotion建立同步/解除同步的问题

    关于simotion建立同步/解除同步的问题. 问题: [enable gearing][disable gearing][enable camming][disable camming]都是一个过程 ...

  8. 【LOJ6062】「2017 山东一轮集训 Day2」Pair(线段树套路题)

    点此看题面 大致题意: 给出一个长度为\(n\)的数列\(a\)和一个长度为\(m\)的数列\(b\),求\(a\)有多少个长度为\(m\)的子串与\(b\)匹配.数列匹配指存在一种方案使两个数列中的 ...

  9. [学习笔记] numpy次成分分析和PCA降维

    存个代码,以后参考. numpy次成分分析和PCA降维 SVD分解做次成分分析 原图: 次成分复原图: 代码: import numpy as np from numpy import linalg ...

  10. ZOJ 1610 Count the Colors【题意+线段树区间更新&&单点查询】

    任意门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1610 Count the Colors Time Limit: 2 ...