Spring Data JPA 从入门到精通~@Query详解

语法及其源码

public @interface Query {
   /**
    * 指定JPQL的查询语句。(nativeQuery=true的时候,是原生的Sql语句)
    */
   String value() default "";
   /**
    * 指定count的JPQL语句,如果不指定将根据query自动生成。
    * (如果当nativeQuery=true的时候,指的是原生的Sql语句)
    */
   String countQuery() default "";
   /**
    * 根据哪个字段来count,一般默认即可。
    */
   String countProjection() default "";
   /**
    * 默认是false,表示value里面是不是原生的sql语句
    */
   boolean nativeQuery() default false;
   /**
    * 可以指定一个query的名字,必须唯一的。
    * 如果不指定,默认的生成规则是:
    * {$domainClass}.${queryMethodName}
    */
   String name() default "";
   /*
    * 可以指定一个count的query的名字,必须唯一的。
    * 如果不指定,默认的生成规则是:
    * {$domainClass}.${queryMethodName}.count
    */
   String countName() default "";
}

@Query 用法

使用命名查询为实体声明查询是一种有效的方法,对于少量查询很有效。一般只需要关心 @Query 里面的 value 和 nativeQuery 的值。使用声明式 JPQL 查询有个好处,就是启动的时候就知道你的语法正确不正确。

注意:好的架构师写代码时报错的顺序是编译<启动<运行时,即越

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值