Java 本机查询插入出现错误:方法仅允许用于查询

Java 本机查询插入出现错误:方法仅允许用于查询,java,hibernate,spring-data-jpa,nativequery,Java,Hibernate,Spring Data Jpa,Nativequery,我目前正在从事SpringBoot+Hibernate项目。 我需要在数据库中插入几个值 我正在尝试使用本机查询来实现这一点。下面是我的代码: @Repository public interface StoreDataRepository extends JpaRepository<StoreDataRepository, Long> { @Query(value ="insert into store (id, name) values(:id, :name)", na

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

我正在尝试使用本机查询来实现这一点。下面是我的代码:

@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);

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

我能够解决上述问题

我必须为我的存储库方法指定@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);
@存储库
公共接口StoreDataRepository扩展了JpaRepository{
@反作用的
@修改
@查询(value=“插入存储(id,name)值(:id,:name)”,nativeQuery=true)
public void storeData(@Param(“id”)int-id、@Param(“name”)字符串名);

我能够解决上述问题

我必须为我的存储库方法指定@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);
@存储库
公共接口StoreDataRepository扩展了JpaRepository{
@反作用的
@修改
@查询(value=“插入存储(id,name)值(:id,:name)”,nativeQuery=true)
public void storeData(@Param(“id”)int-id、@Param(“name”)字符串名);

如果使用Spring,请添加此处记录的
@Modifying
:您好,Andreas-是的,我尝试使用@modify,但随后出现了一个错误,例如:javax.persistence.TransactioreRequestException:执行更新/删除查询所以在执行更新时为什么不在事务中?如果使用Spring,请添加此处记录的
@Modifying
:您好,Andreas-是的,我尝试使用@modify,但随后出现了一个错误,例如:javax.persistence.TransactiorequiredException:执行更新/删除查询为什么您在执行更新时不在事务中?