我有一个DTO
:
@Data
@Accessors(chain = true)
public class UserHasAssetDTO {
private Integer id;
...
private Map<String, Object> props;
}
和Repository
,其中我有这样的方法:
@Select("select id, ..., props from bla bla bla")
List<UserHasAssetDTO> getALLAssetsFilteredByDate(@Param("username") String username, @Param("startDate") String startDate, @Param("endDate") String endDate);
注意:我的PostgreSQL数据库中的字段props是JSONB
类型。
如果我手动执行查询,我可以看到props被正确地填充。
但是,在我服务的时候:
public List<UserHasAssetDTO> userHasALLAssets(String user, String start, String end) {
List<UserHasAssetDTO> userHasAssetDTOList = userHasAssetRepository.getALLAssetsFilteredByDate(user, start, end);
log.info("userHasALLAssets: {}", userHasAssetDTOList);
return userHasAssetDTOList;
}
prop 栏是null
!!!
我怀疑我没有在DTO上正确MapPostgreSQL的JSONB
类型。
如何修复它,以便正确填充props字段?
1条答案
按热度按时间nzkunb0c1#
用这个类解决:
和
JsonNode
类型。