Spring Boot null,对方法public abstract java.util.List的查询验证失败

r55awzrz  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(135)

我试图在Spring Boot 中从PostgreSQL中运行fetch类型jsonb字段,但没有处理null,这是我的查询

  1. @Query("select new com.rainbow.customer.rainbowcustomerservice.user.model.users.StateWiseDistrictResponse( " +
  2. "s.id, s.name, jsonb_agg(json_build_object( 'id', d.id, 'name', d.name, 'stateId', s.id))) " +
  3. "from State s " +
  4. "inner join District d on d.stateId.id = s.id " +
  5. "where (:nullToken is null or s.id in(:stateId))" +
  6. "group by s.id")
  7. Li
  8. st<StateWiseDistrictResponse> stateWiseDistrict(List<BigInteger> stateId, String nullToken);

字符串
模型类如下:

  1. @Data
  2. @Builder
  3. @Getter
  4. @Setter
  5. @NoArgsConstructor
  6. @AllArgsConstructor
  7. public class StateWiseDistrictResponse {
  8. private BigInteger id;
  9. private String name;
  10. @Type(type = "jsonb")
  11. private List<DistrictDto> districtList;
  12. }

5n0oy7gb

5n0oy7gb1#

默认情况下,当你尝试Map一个jsonb类型的值及其null时,你可能会遇到NPE。至少它对mybatisMap是有效的。你需要通过TypeScript处理它以支持List类型。这里你可以找到一个例子,或者我假设你可以直接使用它。List Type handle

相关问题