我试图在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;
}
型
1条答案
按热度按时间5n0oy7gb1#
默认情况下,当你尝试Map一个jsonb类型的值及其null时,你可能会遇到NPE。至少它对mybatisMap是有效的。你需要通过TypeScript处理它以支持List类型。这里你可以找到一个例子,或者我假设你可以直接使用它。List Type handle