java Spring hibernate:无法提取结果集元数据
我尝试在我的Dao中使用本机查询(从JpaRepository扩展而来),但我遇到了以下异常:
org.springframework.orm.jpa.JpaSystemException: Could not extract result set metadata; nested exception is org.hibernate.HibernateException: Could not extract result set metadata
这是我的本机查询:
@Repository
public interface BenchDao extends JpaRepository<Bench, Long> {
@Query(nativeQuery=true,value="UPDATE TF_BENCH SET ISDELETED = 1, SEQ = (select CASE WHEN (min(BENCH.SEQ) < 1) THEN (min(BENCH.SEQ)-1) ELSE -1 END from TF_BENCH BENCH WHERE BENCH.STAGE = (select BENCH.STAGE from TF_BENCH BENCH WHERE id =29302)) WHERE id =29302")
void deleteBench();
当我在OracleSQLDeveloper上尝试这个请求时,它可以工作,但通过spring和hibernate它不能工作
在堆栈跟踪执行中,我还有以下消息:
Caused by: java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement
我试着用谷歌搜索异常消息,但什么也没找到
# 1 楼答案
我找到了一个解决方案:如果有人需要:
# 2 楼答案
我认为更好的解决方案是在方法中添加@modify注释
请参阅有关以下答案的更多信息:Spring Data JPA delete native query throwing exception