商品表 product 中有商品数量 productnum 和安全库存数量 productsafetystock
查询所有商品数量 productnum 低于安全库存数量 productsafetystock的商品:
package com.vue.dao;
import com.vue.entity.Product; //商品实体表
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
public interface ProductDAO extends JpaRepository<Product,Integer> {
//通过商品id查找
Product findByproductid(String productid);
//显示低于安全库存的商品
@Query(nativeQuery = true,value="select * from product where product.productnum < product.productsafetystock")
public List<Product> findAllByProductnumLessThanProductsafetystock();
}
因为jpa中已经有写好的方法,所以findByproductid方法不需要再自己写sql语句。
注意自定义查询方法时一定要添加 nativeQuery = true,否则可能会报 java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token 这种错误
参考:jpa自定义sql语句