我有个问题。当我使用spring data jpa时,我想让它返回Map Collections,但这是错误的。然后我在网上搜索,找到了一个解决方案。流动的。
@Transactional(readOnly = true)
public interface GoodsRepository extends JpaRepository<TbGoodsEntity, Integer> {
@Query(value = "select new map(t.id as id, t.goodsName as goodsName) from TbGoodsEntity t group by t.goodsName")
public List<Map<String, Object>> getGoodsNames();// it`s ok,
@Query(value = "select * from tb_goods t group by t.goodsName", nativeQuery = true)
public List<Map<String, Object>> getGoods();//it`s error
}
但是我不认为使用新的地图方法是最好的解决方案,我想问一下是否有其他的解决方案。谢谢。
发布于 2019-05-24 13:24:18
如果使用use "native“查询,那么每一行都将作为"List”返回,因为spring没有行转换器。所以你的输出变成了List<List<Object>>
。
如果您尝试下面的查询,那么您应该会得到List<Map<String,Object>>
@Query(value = "select t from tb_goods t group by t.goodsName")
public List<Map<String, Object>> getGoods();
注意:我猜你的DB列名是"goodsName“,所以不评论查询是否正确。
https://stackoverflow.com/questions/56284714
复制相似问题