Du skal muligvis ændre din metode som sådan:
@SuppressWarnings("unchecked")
@Transactional
public Collection<Entry> findEntries() {
return sessionFactory.getCurrentSession()
.createCriteria(Entry.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
}
Skift også addresses
til et Set
:
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name = "id")
private Set<EntryAddress> addresses;
Rediger:
Åh...I EntryAddress
du har id
defineret som @Id
men det er ikke enestående. Du skal lave id
den primære nøgle og få den til at stige automatisk, som du gør i Entry
. Opret derefter endnu et felt i EntryAddress
det er fremmednøglen til Entry
kaldet noget som entry_id
.