【发布时间】:2018-08-22 10:15:01
【问题描述】:
我目前正在开发一个 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);
从我的服务中,我只是用 id 和 name 参数调用这个方法。
但我收到以下错误:
org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: Method only for queries
你能帮我解决这个问题吗?
【问题讨论】:
-
如果使用 Spring,请添加
@Modifying,如下所述:Spring Data JPA - Reference Documentation - 4.3.8. Modifying queries -
嗨 Andreas - 是的,我尝试使用 @Modifying 但随后出现错误,例如:javax.persistence.TransactioRequiedException: Executing an update/delete query
-
那么为什么你在做更新的时候不参与事务呢?
标签: java hibernate spring-data-jpa nativequery