saveOrUpdate()
принимает сущность в качестве параметра.Но вы передаете набор объектов, которые, как я предполагаю, являются сущностями).
Вам не нужно сохранятьOrUpdate что-то, что прикреплено к сеансу.saveOrUpdate используется для сохранения новой сущности или обновления существующей, но отсоединенной сущности.
Чтобы удалить все элементы коллекции, просто удалите их из коллекции, и Hibernate сделает это постоянным автоматически:
product.getRecommendations().clear();
- это все, что вам нужно.