我有一个问题。当我使用spring数据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
}
但是我不认为使用新的地图方法是最好的解决方案,我想问一下是否还有其他解决方案。谢谢。
答案 0 :(得分:0)
如果使用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();
注意:我猜您的数据库列名称是“ goodsName”,所以如果查询正确与否,请勿发表评论。