私はSpring 3.0.5、Hibernate 3.6.7およびVaadinを使用しています。トランザクションメソッドでセッションがバインドされていても、セッションまたはセッションが閉じられませんでした
私は私がコンテキストから取得し、その「foo」でから「バー」を表示するようになってダイアログウィンドウを持っているこの
@Entity
public class Foo {
@OneToMany(fetch = FetchType.LAZY)
private Collection<Bar> bars;
...
}
のような単純な実体を持っています。
@Component
@Scope("prototype")
public class FooBarDialogImp extends Window implements FooBarDialog {
@Transactional(readOnly = true)
public void populate(Foo foo) {
...
for (Bar bar : foo.getBars()) {
// populate the dialog with bar information
...
}
}
}
そしてときに、ユーザーがfooバーを表示するように依頼、私はこの
public class FooController {
...
public void showFooBars(Foo foo) {
FooBarDialog dialog = context.getBean(FooBarDialog.class);
dialog.populate(foo);
showDialog(dialog);
}
}
ような何かを行うことが、問題は、私は休止状態から「ノーセッション」の例外を取得していることです。私はコードを変更してセッションファクトリを挿入し、バインドされたセッションがあるかどうかを確認しました。私は何が間違っているのか分かりません。誰でもアイデアがありますか?
素晴らしい。私は、エンティティがセッションから切り離されているとは思っていませんでした。あなたの答えは、より良い解決策を見つけるために光を与えました。ありがとう:) –