java - 删除级联不起作用,已经尝试了我找到的所有解决方案

标签 java spring rest cascade

Spring Rest API 应用程序。因此,当我删除一个用户时(我还想删除该用户的订单)。用户 ID 是订单的外键(一对多关系)。

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id")
public User getUser() {
    return user;
}

public void setUser(User user) {
    this.user = user;
}

@OneToMany(
        mappedBy = "order_products", 
        cascade = CascadeType.ALL, 
        orphanRemoval = true
    )
private List<OrderHasProduct> orders = new ArrayList<>();

用户类别

@OneToMany(
    mappedBy = "orders", 
    cascade = CascadeType.ALL, 
    orphanRemoval = true
)
private List<OrderHasProduct> orders = new ArrayList<>();

public boolean deleteUser(int id){
    User usr = usrRepository.findById(id);
    if (usr == null) {
        throw new ResourceNotFoundException(User.class.getSimpleName());
    }

    usrRepository.delete(id);
    User deletedUser = usrRepository.findById(id);
    if (deletedUser != null) 
       return false;

    return true;
} 

最佳答案

您能否也显示 OrderHasProduct 类? 这是一个工作示例:

@Entity
public class Post {

    @Id
    @GeneratedValue
    private Long id;

    private String title;

    @OneToMany(
        mappedBy = "post", 
        cascade = CascadeType.ALL, 
        orphanRemoval = true
    )
    private List<PostComment> comments = new ArrayList<>();

    //Constructors, getters and setters
}

@Entity
public class PostComment {

    @Id
    @GeneratedValue
    private Long id;

    private String review;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "post_id")
    private Post post;

    //Constructors, getters and setters

    }
}

关于java - 删除级联不起作用,已经尝试了我找到的所有解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675495/

相关文章:

java - Spring MVC @Autowire 不工作 - 循环依赖?

php - 这是 RESTful 吗?使用补品

java - 将时区偏移添加到java日期

java - 布局 fragment 中的按钮

java - JpaRepository 查找子级(可分页)

java - 两个实体之间存在多个关系时抛出异常

java - Java 多线程、Linux 进程和 HTML5 Webworker 之间有什么区别? Webworkers的实际例子和用途是什么?

java - 将奖励按钮按下限制为每小时一次

c# - REST API(ASP.NET Web API 2)最佳实践: How to return 1 - N items that are not one type but 3 related types?

java - Jersey 2.2 : ContainerResponseFilter and ContainerRequestFilter never get executed