猿问

如何使用@Query注解在spring data jpa中插入自定义查询

我正在使用 mssql 和 spring data JPA,我想通过使用自定义注释将新记录插入到表中@Query。


public interface CustomerRepository extends JpaRepository<Customers, String>{



    @Modifying

    @Query("insert into Customers values (?1 , ?2)")

    public void saveCutomer(int custId, Customer cust);


}

它给出错误,


由以下原因引起:org.hibernate.hql.internal.ast.QuerySyntaxException:期待 OPEN,在第 1 行第 23 列附近找到“值”[插入客户值(?1,?2)]


我也在下面尝试过,同样的错误。


@Modifying

    @Query("insert into Customers select ?1 , ?2")

    public void saveCutomer(int custId, Customer cust);


蛊毒传说
浏览 138回答 1
1回答

holdtom

您不会使用 JPQL 执行此操作。您有批量删除和更新,仅此而已。您的选择是:1)如果您确实进行了显式插入,则将查询标记为本机(不推荐,除非您打算使用 JPQL 不支持的某些特定于数据库的语法。2)在您的存储库上使用标准save(Entity)方法,这当然更可取。
随时随地看视频慕课网APP

相关分类

Java
我要回答