Anda mungkin perlu mengubah metode Anda seperti ini:
@SuppressWarnings("unchecked")
@Transactional
public Collection<Entry> findEntries() {
return sessionFactory.getCurrentSession()
.createCriteria(Entry.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
}
Juga, ubah addresses
ke Set
:
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name = "id")
private Set<EntryAddress> addresses;
Sunting:
Oh...Di EntryAddress
Anda memiliki id
didefinisikan sebagai @Id
tapi itu tidak unik. Anda harus membuat id
kunci utama dan buat kenaikan otomatis seperti yang Anda lakukan di Entry
. Kemudian buat bidang lain di EntryAddress
itu adalah kunci asing untuk Entry
disebut sesuatu seperti entry_id
.