gpt4 book ai didi

java - 正确删除 JPA 中帖子的评论

转载 作者:行者123 更新时间:2023-12-01 19:45:14 25 4
gpt4 key购买 nike

我有一个带有 JPA/JAX-RS 后端的前端应用程序,我想在其中发出删除帖子评论的请求。

我正在使用存储库模式,我使用以下方法来删除评论:

@Override
public Comment delete(Comment comment)
{
return getEntityManager().createQuery("DELETE Comment c WHERE c.id = :id ", Comment.class)
.setParameter("id", comment.getId())
.getSingleResult();
}

这里我得到错误:

Update/delete queries cannot be typed JPA

在这里我有点怀疑该怎么做,我可以更改 Comment.class 并将其设为通用查询,但在我的外观内,它调用方法

我还想进行条件检查是否有评论

 Comment commentToDelete = commentRepository.get(comment);
if(commentToDelete == null){
throw new ResourceNotFoundException(Comment.class, comment);
}

我怎样才能以最简单的方式解决这个问题,我可以返回一个对象并直接转换它,还是有其他方法来检查评论并将其从数据库中删除?

最佳答案

When you create a DELETE OR UPDATE query, you should always use executeUpdate method

getEntityManager().createQuery("DELETE FROM Comment c WHERE c.id = :id ", Comment.class)
.setParameter("id", comment.getId())
.executeUpdate();

The return type of this method is an integer telling you how many rows within your table have been affected

关于java - 正确删除 JPA 中帖子的评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53612739/

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