問題タブ [open-session-in-view]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1740 参照

hibernate - Spring JSF OpenSessionInViewFilter

Spring 3.0.2、hibernate3、およびjsf2を使用して、OpenSessionInViewFilterを機能させるのに大きな問題があります。

シナリオ:

いくつかの単純な情報プロパティ (string および int タイプ) とマップされた EmployeeEntities のリストを保持する BusinessCaseEntity があります。このリストは

fetch=FetchType.LAZY

まず、すべての BusinessCases のリストを読み込み、表に表示します。この目的のために、dao クラスを使用します。シンプルなプロパティを持つビジネスケースが表示されます。特定のビジネスケースを選択した場合、たとえば接続されている従業員を表示したいとします。したがって、ビジネスケース オブジェクトの getter メソッドを使用したいだけです --> getEmployees()

春と休止状態についての私の単純な理解では、この時点で BusinessCaseEntity がバックエンドで任意の春と休止状態 (セッション) から切り離され、有名な LazyLoadingException が表示されることがわかります。

これは、OpenSessionInViewFilter が配置されると私が思うところです。私はそれを使用する方法の多くの指示を読みましたが、それでも自分のアプリで動作させることができませんでした.

私のweb.xmlでフィルターを構成し、SpringのOpenSessionInViewFilterの小さなサブクラスを作成して、デバッグ目的で出力を行いました。

それでも、必要なデータをフェッチする段階になると、フィルターは新しいセッションを開き、LazyLoadException がスローされてからフィルターがセッションを閉じます。セッションが現在開いているときに LazyLoadException が発生するのはなぜですか?

OpenSessionInViewFilter の目的を誤解していますか?

私は今かなり迷っており、本当に助けていただければ幸いです。

ありがとう - クリス

0 投票する
1 に答える
4742 参照

hibernate - OpenSessionInViewFilter が機能しない

誰かが私を救ってください。クラスを遅延ロードできません。Open Session In View 戦略を書き込もうとしましたが、うまくいかないようです。web.xml:

ここに私のspring-servlet.xmlがあります:

私の BookDAO.class:

と私のコントローラー:

自分の book.jsp (ブラウザの book.do) サイトにアクセスしようとすると、次の例外が発生しました。

0 投票する
1 に答える
951 参照

hibernate - トランザクションはロールバックしません

アプリケーションでOpenSessionInViewを使用しています。私の目標は、例外が発生した場合に、データベース内のすべての変更を1つのメソッドでロールバックすることです。これが私のコントローラーです:

以下に示す構成で機能します:web.xml内:

しかし、この戦略では、ビュー内の行を保存/更新することはできません。だから私は次のようにOpenSessionInViewFilterをovverridedしました:

これで保存/更新できますが、トランザクションはロールバックしません...両方を機能させる方法は?

0 投票する
1 に答える
14852 参照

hibernate - Spring3およびサーブレット3を使用したOpenSessionInViewFilterの構成

ビューでHibernateレイジー初期化を使用できるように構成OpenSessionInViewFilterしたいので、web.xmlにフィルター定義を追加しましたが、それでも機能しません。同じレイジー初期化例外が発生します。これが私が行ったことです。

applicationContext:

事前に感謝して、なぜ私がまだ怠惰な初期化例外を受け取っているのか教えてください。

0 投票する
2 に答える
231 参照

java - Hibernate を使用した WicketTester

現在、Wicket アプリケーションをテスト可能にする方法を考えています。

基本的には、Wicket / Hibernate / Apache Derby のセットアップです。Hibernate はフィルターとして使用され ( http://community.jboss.org/wiki/OpenSessionInView / HibernateSessionRequestFilter を参照)、設定として hibernate.cfg.xml ファイルがあります。

私がやりたいことは、テスト実行ごとにゼロから再構築できるカスタム データベースで WicketTester を使用できるようにすることです。理想的には、テストには Hibernate の接続パラメーターが含まれます。

基本的に、私の質問は、データベースを動的に、または起動時に切り替える方法についてです。

もっと抽象的な: この種のテストに適したアプローチは何ですか?

0 投票する
1 に答える
566 参照

nhibernate - Spring.NET + NHibernate + リクエストスコープのオブジェクトがうまく連携しない

Spring.NET 1.3.2、NHibernate 3.1、および ASP.NET アプリケーションで OSIV パターンを使用しています。

HttpContext.Current.Items をコンストラクターの依存関係として使用するため、リクエストEventListenerスコープが必要なカスタムがあります。

ISessionリクエストスコープであるため、Spring.NET を使用してこれらの依存関係を管理できるはずです。

問題は 、 が のEventListenerように、リクエスト スコープではないIInterceptor(シングルトンである)プロパティであることです。Web オブジェクト スコープ間の不一致は問題です。ISessionFactory

次の XML スニペットを試しましたが、条件式は常に null になります。EventListenerこれは、Springがアプリケーション レベルのスコープでオブジェクトを作成したためだと思いますが、以前HttpContext.Current.Itemsはデータが取り込まれる可能性がありました。

だから私の要件は次のとおりです。

  1. リクエストごとにEventListener作成されるように、Spring でカスタム オブジェクトを構成する

  2. EventListenerHttpContext.Current.Items['Princpial'] がカスタム IHttpModule によって設定されるように、インスタンス化は要求ライフサイクルの十分に遅い時間に発生する必要があります。

  3. EventListenerインスタンスは現在の OSIV に挿入されますISession

0 投票する
1 に答える
4546 参照

java - java.lang.ClassNotFoundException: org.springframework.orm.hibernate.support.OpenSessionInViewFilter

私は春/休止状態が初めてで、最初のアプリを試していました。最初は「セッション ファクトリがスレッドにバインドされていません」というエラーのようなものがありました。以下に示すweb.xmlでOpenSessionInViewフィルターを宣言することで解決しました

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> クリケット_カレンダー

今、私はこのクラスが見つからないというエラーを取得していますが、ctrl-shift-t を押して検索すると、orm jar にあります。すなわち ここに画像の説明を入力

何が問題なのかわからない、お願いします、どんな助けでも大歓迎です:)

編集:完全なスタックトレース

0 投票する
1 に答える
370 参照

hibernate - EJB を使用してビューでセッションを開く

EJB を使用して Open Session in View パターンを実行するにはどうすればよいですか?

サーブレットは見つかりましたが、EJB は見つかりませんでした

どうもありがとう!

0 投票する
0 に答える
337 参照

hibernate - Sitemesh と OpenSessionInViewFIlter/Interceptor はどうなるのですか?

オンラインで多くの調査を行った後、ここここでスタックオーバーフローに投稿し て、この有名な遅延初期化例外のブロックにまだ当たっているので、私は今、自分のプロジェクトと構成に本当に本当にイライラしています。ディスパッチャ applicationconfig を残りから分離しました。構成アプリケーション コンテキストとディスパッチャ コンテキストとの間のクロス コンポーネント スキャンはありません。

それでもまだこの例外があります。今は本当に選択肢がなく、頭の上で時計が刻々と過ぎています。

sitemesh と OpenSessionInViewFilter または OpenSessionInViewInterceptor に問題はありますか?

ここに例外自体があります

Hibernate GenericDAO を使用します。これがGenericDAO の構成です

これを読んで助けてくれてありがとう

0 投票する
2 に答える
1584 参照

java - OSIV パターンを使用しても「ロールのコレクションを遅延初期化できませんでした」という例外が発生する

LazyInitializationExceptionを回避するために OpenSessionInViewInterceptorを使用しています。

それはうまくいきましたが、OSIVを使用していても、いつかLazyInitializationExceptionが発生します。例外は次のとおりです。

さらに奇妙なことは、例外ログがログ ファイルにのみあり、Web サイトをナビゲートするのに問題がないことです。

これはどうしてですか?