如何使用Java Spring JPQL从数据库返回列

时间:2019-03-03 13:12:24

标签: spring-boot spring-data-jpa jpql

我有一个非常基本的任务。我只想从数据库表中返回一列。从字面上看,我想从我的category_name中获得文字。这是我的JPQL鳕鱼:|

@Transactional
    @Modifying
    @Query(value = "SELECT category_name FROM Category  WHERE id=:id", nativeQuery = true)
    String findName(@Param("id") long id);

我有这个错误:

Modifying queries can only use void or int/Integer as return type!

1 个答案:

答案 0 :(得分:2)

正如错误明显指出的那样,在实际更新/删除行时,应使用@Modifying批注。由于您是从已存储的数据库中获取数据,因此只需删除此注释即可。
您还应该删除@Transactional注释。
https://dzone.com/articles/how-does-spring-transactional是一篇有趣的文章,旨在了解事务注释的工作原理以及何时使用。