JPA中的jpql-@Query的查询使用(参数传递的坑,包含对象的参数)
单参数查询//@Query(value="select * from cst_customer where cust_name=?1",nativeQuery = true)//@Query(value="from Customerwhere cust_name= ?1")//@Query(value="select c from Customerc where c.custName=?1")//
·
单参数查询
// @Query(value="select * from cst_customer where cust_name=?1",nativeQuery = true)
// @Query(value="from Customer where cust_name= ?1")
// @Query(value="select c from Customer c where c.custName=?1")
// @Query(value="from Customer c where c.custName=:#{#custName}")
@Query(value="from Customer c where c.custName=:custName")
List<Customer> findAllCustomerByName(@Param("custName") String custName);
这几种方式是等价的
- @Query(value=“select * from cst_customer where cust_name=?1”,nativeQuery = true)
- @Query(value=“from Customer where cust_name= ?1”)
- @Query(value=“select c from Customer c where c.custName=?1”)
- @Query(value=“from Customer c where c.custName=:#{#custName}”)
- @Query(value=“from Customer c where c.custName=:custName”)
多参数查询
// @Query(value="from Customer c where c.custId=?2 and c.custName=?1")
// @Query(value="from Customer c where c.custId=:#{#custId} and c.custName=:#{#custName}")
@Query(value="from Customer c where c.custId=:custId and c.custName=:custName")
List<Customer> findCustomersByNameAndIndus(@Param("custName") String name,@Param("custId") Long id);
这几种方式是等价的(还有一种原生sql的方式)
- @Query(value=“from Customer c where c.custId=?2 and c.custName=?1”)
- @Query(value=“from Customer c where c.custId=:#{#custId} and c.custName=:#{#custName}”)
- @Query(value=“from Customer c where c.custId=:custId and c.custName=:custName”)
参数为对象查询
@Query(value="from Customer c where c.custId=:#{#customer.custId}")
Customer findCustomerByInfo(@Param("customer") Customer customer);
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献32条内容
所有评论(0)