使用JPA QueryDSL更新@ElementCollection属性

时间:2012-05-10 13:00:51

标签: java hibernate jpa querydsl

我想从映射到集合表的字段中删除特定用户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;
...
}

0 个答案:

没有答案