小编use*_*956的帖子

什么时候应该使用JPA 2.0而不是JPQL或CriteriaBuilder的本机查询?

关于何时以及何时不在JPA 2.0中使用本机查询,我感到非常困惑.我的印象是使用本机查询可能会导致我与JPA缓存不同步.如果我可以使用JPQL或CriteriaBuilder查询完成同样的事情,是否有充分的理由使用本机查询?同样,如果我可以使用JPQL或CriteriaBuilder完成同样的事情,那么使用本机查询是否有任何危险?最后,如果使用本机查询存在危险,与JPA缓存不同步,使用JPQL或CriteriaBuilder执行等效查询是否存在同样的危险?

我的理念是避免本地查询,但肯定有时候它们是必要的.在我看来,如果我可以使用JPQL或CriteriaBuilder,那么我应该.

谢谢.

jpql native-sql jpa-2.0

8
推荐指数
1
解决办法
3288
查看次数

与JPA CriteriaBuilder一起使用All All和Sum

我试图转换本机SQL查询以使用JPA 2.0中的Criteria API.我在Google上发现了很多Criteria API示例,但我很难将所有部分放在一起.我希望有经验的人能够帮助我.本机查询如下所示:

select 
    sum(amount) from firstTable, secondTable 
        where firstTable.id = secondTable.id 
            and amount <> 0 
            and firstTable.id = ?
union all
select 
    sum(amount) from firstTable, thirdTable 
        where firstTable.id = thirdTable.id 
            and amount <> 0 
            and firstTable.id = ?
Run Code Online (Sandbox Code Playgroud)

原始查询结果集返回一个BigDecimal对象列表.

谢谢!

union jpa sum criteria-api

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

criteria-api ×1

jpa ×1

jpa-2.0 ×1

jpql ×1

native-sql ×1

sum ×1

union ×1