我想从映射到集合表的字段中删除特定用户ID。如何通过单个QueryDSL JPA更新语句实现这一点?
需要的是这样的事情:
new JPAUpdateClause(getEntityManager(), sharing).where(sharing.key.eq(sharingKey))
.set(sharing.userIds, ***sharing.userIds - userId***).execute();
映射类:
public class Sharing {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name = "naturalid", unique = true)
private String key;
private int creatorUserId;
@ElementCollection
@CollectionTable(name = "pla_sharing2users", joinColumns = @JoinColumn(name = "sid"))
@Column(name = "uid")
private Set<Integer> userIds;
...
}