次のようにメソッドを変更する必要がある場合があります:
@SuppressWarnings("unchecked")
@Transactional
public Collection<Entry> findEntries() {
return sessionFactory.getCurrentSession()
.createCriteria(Entry.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
}
また、addresses
を変更します Set
に :
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name = "id")
private Set<EntryAddress> addresses;
編集:
ああ...EntryAddress
で id
があります @Id
として定義されています しかし、それはユニークではありません。 id
を作成する必要があります 主キーをEntry
の場合と同じように自動インクリメントします 。次に、EntryAddress
に別のフィールドを作成します これは、Entry
への外部キーです。 entry_id
のような名前 。