zoukankan      html  css  js  c++  java
  • 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 保持唯一性

  • 相关阅读:
    cad.net DeepCloneObjects WasErased
    cad.net 更改高版本填充交互方式为低版本样子
    日志篇 VS Gitee码云
    测试篇 c#遍历所有安装程序 获取所有已经安装的程序
    cad.net 设置Acad2008默认启动 win10设置默认cad2008默认启动 20190923修改
    cad.net cad启动慢? cad2008启动慢? cad启动延迟? cad卡住? cad98%卡? 默认打印机!!
    测试篇 c#多线程实现ping 制作一个备份器
    cad.net 利用win32api实现不重复打开dwg路径的文件夹(资源管理器)
    cad.net 利用win32api实现一个命令开关参照面板 20190910修改浩辰部分问题,完美.
    cad.net 在cad2008引用了错误的com接口的dll导致出现了
  • 原文地址:https://www.cnblogs.com/cccy0/p/9496415.html
Copyright © 2011-2022 走看看