我有一个非常基本的任务。我只想从数据库表中返回一列。从字面上看,我想从我的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!
答案 0 :(得分:2)
正如错误明显指出的那样,在实际更新/删除行时,应使用@Modifying
批注。由于您是从已存储的数据库中获取数据,因此只需删除此注释即可。
您还应该删除@Transactional
注释。
https://dzone.com/articles/how-does-spring-transactional是一篇有趣的文章,旨在了解事务注释的工作原理以及何时使用。