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

r55awzrz  于 5个月前  发布在  Spring
关注(0)|答案(1)|浏览(49)

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

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

字符串
模型类如下:

@Data
@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class StateWiseDistrictResponse {
    private BigInteger id;
    private String name;
    @Type(type = "jsonb")
    private List<DistrictDto> districtList;
}

5n0oy7gb

5n0oy7gb1#

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

相关问题