回答

收藏

Spring Data JPA本机查询中的变量

技术问答 技术问答 240 人阅读 | 0 人回复 | 2023-09-12

使用Spring Dat
4 j( Z9 @- R# Y$ K! A% C& B. T6 dJPA,我需要查询我的数据库,OrderEntity基于数量的astartAmt和a返回一个s范围endAmt。我不确定是否应该映射这两个变量entity9 f. E; k8 k2 A/ w9 I
OrderEntity,作为某种类型的单独类/实体/模型中的字段,或直接在本机查询中说明。也许我应该使用实现的服务EntityManager.createNativeQuery()?  ]& I/ ]  w- \. u3 c& u- {; t+ w
想做类似的事:
( a" j+ K( `! N, c: R4 Q@Repositorypublic interface OrderRangeRepository extends JpaRepository              @Query(value = "SELECT * FROM Orders WHERE Amount BETWEEN startAmt AND endAmt;" ,nativeQuery=true)    List findOrdersBy(int startAmt,int endAmt);}如果要EntityManager.createNativeQuery()在服务中使用可能与以下内容相似:- ~$ P, x% Q9 d* \% [! K1 D
@Servicepublic class OrderRangeService    @Autowired    EntityManager entityManager;    public List findAmountsBetween()        List amountsBetween = entityManager.createNativeQuery("SELECT * FROM Orders WHERE Amount BETWEEN ?1 AND 2?;")        .setParameter(1,"startAmt")        .setParameter(2,"endAmt")        .getResultList();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;return amountsBetween;                 * f6 A+ Z5 a2 T2 @2 O0 i
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则