4

我的实体User有一个基本集合:

@ElementCollection
private Set<String> completedQuests = Sets.newHashSet();

如何从该集中为所有/多个用户删除一些值?这个伪查询的正确 JPQL 是什么?

DELETE FROM User.completeQuests
WHERE value IN (:collectionOfValues)

(也欢迎仅使用 Hibernate 的替代方案,虽然不是首选。)

4

1 回答 1

0

如果一切都失败了,原生 SQL。

em
    .createNativeQuery(
        "DELETE FROM user_completedquests " +
        "WHERE completedquests IN (:daily)"
    )
    .setParameter("daily", dailyQuests)
    .executeUpdate();

(还没有测试过)

于 2012-06-21T16:05:33.630 回答