Du kan behöva ändra din metod så här:
@SuppressWarnings("unchecked")
@Transactional
public Collection<Entry> findEntries() {
return sessionFactory.getCurrentSession()
.createCriteria(Entry.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
}
Ändra även addresses
till en Set
:
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name = "id")
private Set<EntryAddress> addresses;
Redigera:
Åh...i EntryAddress
du har id
definieras som @Id
men det är inte unikt. Du bör skapa id
primärnyckeln och låt den öka automatiskt som du gör i Entry
. Skapa sedan ett annat fält i EntryAddress
det är den främmande nyckeln till Entry
kallas något som entry_id
.