我的实体User
有一个基本的集合:
@ElementCollection
private Set<String> completedQuests = Sets.newHashSet();
如何从所有/多个用户的集中删除某些值?这个伪查询的正确JPQL是什么?
DELETE FROM User.completeQuests
WHERE value IN (:collectionOfValues)
(仅限Hibernate替代品,但不是首选,也欢迎。)
答案 0 :(得分:0)
如果所有其他方法都失败了,那就是原生SQL。
em
.createNativeQuery(
"DELETE FROM user_completedquests " +
"WHERE completedquests IN (:daily)"
)
.setParameter("daily", dailyQuests)
.executeUpdate();
(尚未测试过)