19 JPQL

Posted zhaochengf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19 JPQL相关的知识,希望对你有一定的参考价值。

使用Spring Data JPA提供的查询方法已经可以解决大部分的应用场景,但是对于某些业务来说,我们还需要灵活的构造查询条件,这时就可以使用@Query注解,结合JPQL的语句方式完成查询

@Query 注解的使用非常简单,只需在方法上面标注该注解,同时提供一个JPQL查询语句即可

public interface CustomerDao extends JpaRepository<Customer, Long>,JpaSpecificationExecutor<Customer> {    
    //@Query 使用jpql的方式查询。
    @Query(value="from Customer")
    public List<Customer> findAllCustomer();
    
    //@Query 使用jpql的方式查询。?1代表参数的占位符,其中1对应方法中的参数索引
    @Query(value="from Customer where custName = ?1")
    public Customer findCustomer(String custName);
}

此外,也可以通过使用 @Query 来执行一个更新操作,为此,我们需要在使用 @Query 的同时,用 @Modifying 来将该操作标识为修改查询,这样框架最终会生成一个更新的操作,而非查询

@Query(value="update Customer set custName = ?1 where custId = ?2")   
@Modifying 
public  void updateCustomer(String custName,Long custId);

 

以上是关于19 JPQL的主要内容,如果未能解决你的问题,请参考以下文章

19 01 11 javascript ?????????????????????(???????????????) ??????????????????????????????(代码片段

在嵌套字段上使用 WHERE 的 JPQL 查询

JPQL SQL Server CURRENT_DATE 语法不正确

SQL 代码在转换为 JPQL 代码时不起作用(ORA-00904 错误代码)

Cg入门19:Fragment shader - 片段级模型动态变色

JPQL模糊匹配单个字符