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 に答える