Rag*_* Kr 28 java database postgresql jsp sql-insert
我试图将数据插入表中.执行查询后,我得到一个异常说明
org.postgresql.util.PSQLException: No results were returned by the query.
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:284)
Run Code Online (Sandbox Code Playgroud)
数据插入成功,但我不知道为什么我得到这个例外?
Pau*_*per 73
使用
executeUpdate
Run Code Online (Sandbox Code Playgroud)
代替
executeQuery
Run Code Online (Sandbox Code Playgroud)
如果没有数据将被返回(即非SELECT操作).
小智 19
请在@Query注释上使用@Modifying注释。
@修改
@Query(value = "UPDATE 用户设置coins_balance =coin_balance + :coinsToAddOrRemove where user_id = :user_id", nativeQuery = true)
int updateCoinsBalance(@Param("user_id") Long userId, @Param("coinsToAddOrRemove") 整数coinsToAddOrRemove);
任何 DML 查询(即 DELETE、UPDATE 或 INSERT)也是如此
让我想到这个问题的问题有点不同 - 我在使用基于接口的 Spring JPA 存储库删除行时遇到此错误。原因是我的方法签名应该返回一些结果:
@Modifying
@Query(value = "DELETE FROM table t WHERE t.some_id IN (:someIds)", nativeQuery = true)
List<Long> deleteBySomeIdIn(@Param("someIds") Collection<Long> someIds);
Run Code Online (Sandbox Code Playgroud)
更改返回类型以void解决问题:
@Modifying
@Query(value = "DELETE FROM table t WHERE t.some_id IN (:someIds)", nativeQuery = true)
void deleteBySomeIdIn(@Param("someIds") Collection<Long> someIds);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23264 次 |
| 最近记录: |