我是靠谱客的博主 典雅老师,最近开发中收集的这篇文章主要介绍jpa 删除是否成功_jpa 自定义sql 删除方法注意点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、jpa自带的delete()方法可以成功删除对象

delete(id),或者delete(entity)

2、自定义删除方法注意点

参考:https://www.jianshu.com/p/9d5bf0e4943f

@RequestMapping(value = "/delById")

public void delById(@RequestParam("id") int userId){

accountDao.delAccount(userId);

}

注意,采用可以看到我们的@Query注解好像只是用来查询的,但是如果配合@Modifying注解一共使用,则可以完成数据的删除、添加、更新操作

public interface AccountDao extends JpaRepository {

// @Transactional

@Modifying

@Query(value = "delete from Account where id =?1",nativeQuery = true)

void delAccount(int id);

}

 可以看到报TransactionRequiredException

javax.persistence.TransactionRequiredException: Executing an update/delete query

at org.hibernate.jpa.spi.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:54) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]

at org.springframework.data.jpa.repository.query.JpaQueryExecution$ModifyingExecution.doExecute(JpaQueryExecution.java:238) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]

at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:85) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]

at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:116) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]

at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:106) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]

at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:483) ~[spring-data-commons-1.13.1.RELEASE.jar:na]

在对应的方法上添加@Transactional 删除成功

public interface AccountDao extends JpaRepository {

@Transactional

@Modifying

@Query(value = "delete from Account where id =?1",nativeQuery = true)

void delAccount(int id);

}

最后

以上就是典雅老师为你收集整理的jpa 删除是否成功_jpa 自定义sql 删除方法注意点的全部内容,希望文章能够帮你解决jpa 删除是否成功_jpa 自定义sql 删除方法注意点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部