Такая ошибка возникает в случае, когда вы подменили Persistence-коллекции, возвращённую Hibernate, на обычную коллекцию.
Например:
1 2 |
@OneToMany(mappedBy = "saleOrder", cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true) private Set<OrderLine> orderLines = new HashSet<>(); |
Hibernate будет при чтении объекта вставлять в orderLines свой PersistenceSet. Нельзя менять этот PersistenceSet на, допустим, HashSet, иначе возникнет подобное исключение. Можно даже не писать сеттеров для подобных коллекций, чтобы минимизировать риск таких ошибок. Hibernate сможет вставить туда значение через Reflection.