Hibernate 3.2.5 と JSF 2.1 を使用しています。
テーブル accounts、accounts_opportunities、および機会、つまり多対多の関係が設定されています。
すべてのテーブル、つまりモデルをマップしました。
アカウントを保存するために、次のコードを使用しています。
public void saveAccount(Accounts current) {
Transaction tx = session.beginTransaction();
session.save(current);
session.flush();
tx.commit();
}
Accounts オブジェクトを保存すると、次のエラーが表示されます。
failed to lazily initialize a collection of role: models.Accounts.accountsOpportunitieses, no session or session was closed
私は JSF と Hibernate が初めてで、なぜ Hibernate がオブジェクトを保存しないのか理解できません!
アップデート:
Accounts モデルを次の注釈で更新しました。
@ManyToMany(fetch= FetchType.EAGER)
private Set<AccountsOpportunities> accountsOpportunitieses = new HashSet<AccountsOpportunities>(0);
データはまだデータベースに保存されていません。セッションが閉じられたなどのエラーが発生するようになりました。