在JPA中,如果更新将删除一行,如何进行删除?

在JPA中,如果更新将删除一行,如何进行删除?,jpa,sql-update,sql-delete,Jpa,Sql Update,Sql Delete,这是我的情况,我使用JPA来管理我网站上的数据。很简单: 我有一个包含两个步骤的表单: 步骤1:这是一个我可以设置用户名的表单。还有一个复选框添加用户,如果添加,我还需要添加他的用户名。所以从第一步开始,我肯定会有一个主用户,也许还有第二个 一旦设置了第一个用户名,假设我还有第二个用户名,我单击next进入步骤2,这里有一个简单的JPA save(),它将我的两个用户分别存储在users表中的一行中 一旦进入步骤2,我决定返回步骤1并取消选中用户2,我只想保留主用户 我单击下一步,进入第2步,

这是我的情况,我使用JPA来管理我网站上的数据。很简单:

我有一个包含两个步骤的表单:

  • 步骤1:这是一个我可以设置用户名的表单。还有一个复选框添加用户,如果添加,我还需要添加他的用户名。所以从第一步开始,我肯定会有一个主用户,也许还有第二个
  • 一旦设置了第一个用户名,假设我还有第二个用户名,我单击next进入步骤2,这里有一个简单的JPA save(),它将我的两个用户分别存储在users表中的一行中
  • 一旦进入步骤2,我决定返回步骤1并取消选中用户2,我只想保留主用户
  • 我单击下一步,进入第2步,但在我的用户表中,我仍然有第二个用户
如果我决定取消选中第二个用户,那么从DB中删除该用户的解决方案是什么

这是我的保存功能

@Override
@Transactional
public void save(List<Users> users, String userId) {
    users.forEach(user-> {
            user.setUserID(userId);
            save(user);
    });
}

您能否保存步骤结束时需要保存的内容?或者您还记得在第1步取消选中时,在第2步旁边,您必须删除未选中的用户吗?
@Table(name = "User", schema = "public")
public class User implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;


@Column(name = "userID")
private String userID;


@Column(name = "username")
private String username;