小编桃桃桃*_*桃桃子的帖子

Spring 数据 JPA nativeQuery order by 无效

Spring Data Jpa 方法是这样的:

@Query("select pb.id,pp.max_borrow_amt,pp.min_borrow_amt
from product_loan_basic pb left join product_loan_price pp on pb.code=pp.product_code 
 where pb.code IN(?1) and pb.status='publish' order by  ?2 ",
nativeQuery = true)  
List<Object[]> findByCodesIn(List<String> codes,String orderby);
Run Code Online (Sandbox Code Playgroud)

那么 order by 是“ max_borrow_amt desc ”,但这是无效的。
列表是无序的。

java sql postgresql spring-data-jpa spring-boot

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

如何修复 findbugs“方法访问具有常量索引的列表或数组”发现的错误

java代码:

p.setCode((String) fileds[1]);
p.setTitle((String) fileds[2]);
p.setLogo((String) fileds[3]);
p.setMaxBorrowAmt((Integer) fileds[4]);
p.setMinBorrowAmt((Integer) fileds[5]);
Run Code Online (Sandbox Code Playgroud)

fields[] 是对象数组,它由 Spring-Data-JPA 创建,用于从 3 个不同的表中选择某些内容;

@Query(
   value="select a.id,a.code,b.title,b.logo,c.max from tableA a left join TableB b left join TableC c where ... ",
   nativeQuery = true
)
List<Object[]> findSomething();
Run Code Online (Sandbox Code Playgroud)

发现错误警告:

方法访问具有常量索引的列表或数组

此方法使用常量整数索引访问数组或列表。通常,这是打算使用循环变量的拼写错误。然而,如果特定的列表索引意味着不同的特定事物,那么也许用具有有意义的访问器的一流对象替换列表将使代码不那么脆弱。

我应该如何修复这个错误?

java spring findbugs

5
推荐指数
1
解决办法
4552
查看次数

标签 统计

java ×2

findbugs ×1

postgresql ×1

spring ×1

spring-boot ×1

spring-data-jpa ×1

sql ×1