gpt4 book ai didi

java - native 查询 INSERT 给出错误 : Method is only allowed for a Query

转载 作者:行者123 更新时间:2023-12-02 02:16:21 26 4
gpt4 key购买 nike

我目前正在从事 SpringBoot + Hibernate 项目。我需要向数据库中插入一些值。

我正在尝试使用 native 查询来实现此目的。以下是我的代码:

@Repository
public interface StoreDataRepository extends JpaRepository<StoreDataRepository, Long> {

@Query(value ="insert into store (id, name) values(:id, :name)", nativeQuery = true)
public void storeData(@Param("id") int id, @Param("name") String name);

从我的服务中,我只是使用 id 和 name 参数调用此方法。

但我收到以下错误:

org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Method only for queries

你能帮我解决这个问题吗?

最佳答案

我能够解决上述问题。

我必须为我的存储库方法指定 @Transactional 和 @Modifying。

下面解决了这个问题。

@Repository
public interface StoreDataRepository extends JpaRepository<StoreDataRepository, Long> {

@Trsansactional
@Modifying
@Query(value ="insert into store (id, name) values(:id, :name)", nativeQuery = true)
public void storeData(@Param("id") int id, @Param("name") String name);

关于java - native 查询 INSERT 给出错误 : Method is only allowed for a Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49268332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com