Просто еще один, касающийся отношений многих и многих в JPA. У меня есть следующая структура в моей базе данных:JPA много-ко многим обновлениям
______ ___________ _______
| user | | user2item | | item |
|------| |-----------| |-------|
| id | | user_id | | id |
| name | | item_id | | name |
------ ----------- | type |
-------
Теперь я хочу, чтобы обновить assingment от одного пользователя к элементам данного типа. Так что, к сожалению, я просто не могу:
user.setItems(newItemList);
потому что он удалит присвоения предметам других типов. В обычный старый SQL я хотел бы сделать:
DELETE FROM user2item WHERE user_id = ? AND item_id IN (SELECT id FROM item WHERE type=?);
INSERT INTO user2item (user_id, item_id) VALUES(?,?);
Но, как я использую JPA с QueryDSL простой SQL не вариант.
Благодарим за быстрый ответ - так я начал внедряться как временное обходное решение. Но я думал, что должен быть более элегантный способ сделать это, используя причудливые функции JPA/QueryDSL. – LordHelmchen