Mogelijk moet u uw methode als volgt wijzigen:
@SuppressWarnings("unchecked")
@Transactional
public Collection<Entry> findEntries() {
return sessionFactory.getCurrentSession()
.createCriteria(Entry.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
}
Wijzig ook addresses naar een Set :
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name = "id")
private Set<EntryAddress> addresses;
Bewerken:
Oh...In EntryAddress je hebt id gedefinieerd als de @Id maar het is niet uniek. U moet id . maken de primaire sleutel en laat deze automatisch toenemen zoals u doet in Entry . Maak vervolgens een ander veld in EntryAddress dat is de refererende sleutel voor Entry zoiets als entry_id . genoemd .