Možná budete muset upravit svou metodu takto:
@SuppressWarnings("unchecked")
@Transactional
public Collection<Entry> findEntries() {
return sessionFactory.getCurrentSession()
.createCriteria(Entry.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
}
Změňte také addresses
do Set
:
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name = "id")
private Set<EntryAddress> addresses;
Upravit:
Oh...V EntryAddress
máte id
definované jako @Id
ale není to ojedinělé. Měli byste vytvořit id
primární klíč a nechte jej automaticky zvýšit jako v Entry
. Poté vytvořte další pole v EntryAddress
to je cizí klíč pro Entry
nazvaný něco jako entry_id
.