У меня есть две таблицы, DVD и контакт.
DVD можно арендовать для контакта, и контакт может арендовать множество DVD.
Ссылка "многие на одну" (dvd-->contact)
отлично работает.
Но другой путь терпит неудачу: (contact-->dvd)
Это отображение контактов:
<set name="dvds" inverse="true">
<key column="contactId"/>
<one-to-many class="Dvd"/>
</set>
Вот установщик геттер для контакта:
private Set<Dvd> dvds = new HashSet<Dvd>();
public Set<Dvd> getDvds(){
return dvds;
}
public void setDvds(Set<Dvd> dvds){
this.dvds=dvds;
}
Когда я пытаюсь взять напрокат DVD от контакта с этим:
HashSet<Dvd> tt = (HashSet<Dvd>)dds;
Я получаю исключение:
java.lang.ClassCastException: org.hibernate.collection.PersistentSet
cannot be cast to java.util.HashSet
Что означает исключение и как его исправить?
Редактировать: Это решило мою проблему:
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)