gpt4 book ai didi

java - Jpa或实体管理器处理参数列表: List

转载 作者:行者123 更新时间:2023-11-30 02:32:07 33 4
gpt4 key购买 nike

我已经尝试过:

@Query("Select m.id from Cars m where m.id not in :x")
List<Long> findNotChoosenCars(@Param("x") List<Long> CarsId);

我明白了:

org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de « ) »
Translation: syntax error near << ) >>

我还尝试将 :x 放在括号中,例如 : (:x)

我也尝试过

@Query(value = "Select id from Cars where id not in (?1)",nativeQuery = true)
List<Long> findNotChoosenCars(List<Long> CarsId);

还有:

   private EntityManagerFactory emf;
private List<Long> getNotSelectedCarsIds(List<Long> selectedIds){

List<String>strings=selectedIds.stream().map(Object::toString).collect(Collectors.toList());
final String notSelectedCarIdsSql= "Select id from Car where id not in (:strings)";
return emf.createEntityManager().createNativeQuery(notSelectedMarkerIdsSql)
.setParameter("strings",strings)
.getResultList();
}

我仍然有相同的堆栈跟踪。我正在使用 postgres 9.4有什么帮助吗?

最佳答案

看起来当字符串列表为空时失败。

尝试在查询调用之前添加检查。

if (strings == null || strings.size() == 0) {
return new ArrayList();
}

关于java - Jpa或实体管理器处理参数列表: List<Long>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44044019/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com