【发布时间】:2021-01-19 17:22:47
【问题描述】:
我的 JpaRepository 在 Spring Boot 应用程序中遇到问题 我想对我的数据库执行一个简单的更新查询,结果发现原生查询很烦人,请帮忙
public interface ImageRepository extends JpaRepository<Image, Integer> {
@Modifying
@Transactional
@Query(value = "UPDATE image SET path =(0?), status = (1?) WHERE Id = (2?)", nativeQuery = true)
void update(String path ,String status,int Id);
}
上面的代码返回以下错误信息
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '@P0'.
我尝试将 SQL 方言更改为 org.hibernate.dialect.SQLServer2008方言 org.hibernate.dialect.SQLServer2012方言 分别,没有一个工作。
我还尝试以不同的方式编写查询,这不会给我一个错误,但它不会更新字段。它可以从方法中检测整数值,但会将字符串值设置为 emply 值:
@Query(value = "UPDATE image SET physical_path =(0), status = (1) WHERE Id = (2)", nativeQuery = true)
如果有人遇到同样的问题,请支持
【问题讨论】:
标签: java sql spring-data-jpa