ホストエンティティをマージせずにJPQLクエリでElementCollectionの要素を更新するにはどうすればよいですか?JPA ElementCollectionの更新要素
@Embeddable
public class Category {
@Column(nullable=false)
String name;
@Parent
Item item;
}
@Entity
public class Item {
@ElementCollection
Set<Category> categories;
}
アイテムをマージせずにカテゴリの名前を変更することはできますか?このようなもの
entityManager.createQuery("update Category c set c.name=:name where c.item = :item")
さらにもう1つの質問:マージされたインスタンスでエンティティを置き換える必要があるか?エンティティにコレクションやその他の関係が含まれている場合にのみ、プロキシが含まれていますか?あなたはこのようなカテゴリを更新するために、ネイティブクエリを使用することができ、いくつかの状況下では
カテゴリが独自のテーブルに存在しないため、明らかにそのカテゴリを作成できません。カテゴリは所有者オブジェクトのコンテキスト内にのみ存在するため、 'merge'はあなたがやることです –