Java : JPA相关以及常用注解
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相关以及常用注解的更多相关文章
- JPA实体的常用注解
@Entity 标注于实体类上,通常和@Table是结合使用的,代表是该类是实体类@Table 标注于实体类上,表示该类映射到数据库中的表,没有指定名称的话就表示与数据库中表名为该类的简单类名的表名相 ...
- [Java 开发利器Lombok] 常用注解演示
在以往的对象模型编码时,我们需要写一大堆的get/set以及不同的构造函数等.Lombok为我们提供了一个非常好的插件形式. 在大多数的项目中,只需要使用到以下集中Annotation就足够了,如果需 ...
- Java多线程相关的常用接口
Runnable 是一个接口,里面只声明了一个方法run();返回值为void所以无法拿到执行完的结果.只能通过共享变量或者线程通信来搞定.Future就是对具体的Runable或者Callable任 ...
- java深入技术九 (注解)
java注解 (Annotation) 一般起到说明,配置的作用,在java.lang.annotation 定义,本质上没有增强java的能力 1.常用注解:@Override,强制编译器检查标注的 ...
- JAVA常用注解
摘自:https://www.cnblogs.com/guobm/p/10611900.html 摘要:java引入注解后,编码节省了很多需要写代码的时间,而且精简了代码,本文主要罗列项目中常用注解. ...
- Java 注释类之常用元注解
Java 注释类之常用元注解 自定义Java注释类时,我们使用方式如下: @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD ...
- [刘阳Java]_Spring常用注解介绍_第6讲
Spring的注解是在Spring2.5的版本中引入的,目的简化XML配置.在企业开发过程中使用注解的频率非常高,但是学习注解的前提是大家一定要对Spring基于XML配置要熟悉,这是我个人建议,因为 ...
- Java 基础【11】@注解
1.注解简介 JDK 1.5 中引入的 java.lang.annotation 包提供注解编程支持,可以让类在编译.类加载.运行时被读取,并执行相应的处理. 在 Java EE应用的时候,总是免不了 ...
- JPA相关知识
这篇文章是摘自Patrick Linskey的一篇文章,主要是关于JPA相关内容的问答,相信JPA面试会碰到很多这里面的问题 问题:EJB专家团队是如何摆脱事务描述符的? 回答:在会话bean和消息驱 ...
随机推荐
- 20_AOP_Advice增强1(前置、后置、环绕)
[增强的类型] 1.前置增强:org.springframework.aop.BeforeAdvice. 由于Spring只支持方法级别的增强,所以MethodBeforeAdvice是目前可用的前置 ...
- selenium 等待元素加载
今天,尝试用代码指定自动化测试用例. 将测试record导出为C# 代码后,使用FF的drive ,发现执行一直失败,提示无法加载元素.顿时一种无力感袭来啊.还是硬着头皮找方法.尝试id name x ...
- Spring MVC controller控制器映射无法访问问题!!!
月 26, 2019 2:47:58 上午 org.apache.coyote.AbstractProtocol start信息: Starting ProtocolHandler ["aj ...
- HCNA配置手工负载分担模式链路聚合
一.配置手工负载分担模式链路聚合 链路聚合(Link Aggregation)是将—组物理接口捆绑在一起作为一个逻辑接口来增加带宽的一种方法,又称为多接口负载均衡组(Load Sharing Grou ...
- Intel® Manager for Lustre* software(一)
Intel® Manager for Lustre* software Installation 软件安装指导目录: 安装IML(Intel® Manager for Lustre* software ...
- Exchange 2016的MAPI over HTTP简介
一.MAPI over HTTP的简介 MAPI(消息处理应用程序编程接口)over HTTP是传输协议,可将传输层移到行业标准HTTP模型中,从而提升Outlook 和 Exchange连接的可靠性 ...
- 使用slmgr查看、删除windows 授权(key)
查看 slmgr.vbs /dlv 删除授权 使用管理员权限进入cmd All program -> accessories -> Command Prompt (右键 已管理员方式运行) ...
- DeepQA websocket 并发测试
var client = new Array(); var W3CWebSocket = new Array(); var concurrent = 2; for (var i = 0; i < ...
- 设计模式——代理模式(Proxy Pattern)
代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问. UML图: 模型设计: Subject类: package com.cnblog.clarck; /** * Subject 类 ...
- Android(java)学习笔记43:Map集合的遍历之键找值
1. Map集合的遍历之键找值 package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.u ...