問題タブ [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.
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 の目的を誤解していますか?
私は今かなり迷っており、本当に助けていただければ幸いです。
ありがとう - クリス
hibernate - OpenSessionInViewFilter が機能しない
誰かが私を救ってください。クラスを遅延ロードできません。Open Session In View 戦略を書き込もうとしましたが、うまくいかないようです。web.xml:
ここに私のspring-servlet.xmlがあります:
私の BookDAO.class:
と私のコントローラー:
自分の book.jsp (ブラウザの book.do) サイトにアクセスしようとすると、次の例外が発生しました。
hibernate - トランザクションはロールバックしません
アプリケーションでOpenSessionInViewを使用しています。私の目標は、例外が発生した場合に、データベース内のすべての変更を1つのメソッドでロールバックすることです。これが私のコントローラーです:
以下に示す構成で機能します:web.xml内:
しかし、この戦略では、ビュー内の行を保存/更新することはできません。だから私は次のようにOpenSessionInViewFilterをovverridedしました:
これで保存/更新できますが、トランザクションはロールバックしません...両方を機能させる方法は?
hibernate - Spring3およびサーブレット3を使用したOpenSessionInViewFilterの構成
ビューでHibernateレイジー初期化を使用できるように構成OpenSessionInViewFilter
したいので、web.xmlにフィルター定義を追加しましたが、それでも機能しません。同じレイジー初期化例外が発生します。これが私が行ったことです。
applicationContext:
事前に感謝して、なぜ私がまだ怠惰な初期化例外を受け取っているのか教えてください。
java - Hibernate を使用した WicketTester
現在、Wicket アプリケーションをテスト可能にする方法を考えています。
基本的には、Wicket / Hibernate / Apache Derby のセットアップです。Hibernate はフィルターとして使用され ( http://community.jboss.org/wiki/OpenSessionInView / HibernateSessionRequestFilter を参照)、設定として hibernate.cfg.xml ファイルがあります。
私がやりたいことは、テスト実行ごとにゼロから再構築できるカスタム データベースで WicketTester を使用できるようにすることです。理想的には、テストには Hibernate の接続パラメーターが含まれます。
基本的に、私の質問は、データベースを動的に、または起動時に切り替える方法についてです。
もっと抽象的な: この種のテストに適したアプローチは何ですか?
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
はデータが取り込まれる可能性がありました。
だから私の要件は次のとおりです。
リクエストごとに
EventListener
作成されるように、Spring でカスタム オブジェクトを構成するEventListener
HttpContext.Current.Items['Princpial'] がカスタム IHttpModule によって設定されるように、インスタンス化は要求ライフサイクルの十分に遅い時間に発生する必要があります。EventListener
インスタンスは現在の OSIV に挿入されますISession
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 にあります。すなわち
何が問題なのかわからない、お願いします、どんな助けでも大歓迎です:)
編集:完全なスタックトレース
hibernate - EJB を使用してビューでセッションを開く
EJB を使用して Open Session in View パターンを実行するにはどうすればよいですか?
サーブレットは見つかりましたが、EJB は見つかりませんでした
どうもありがとう!
hibernate - Sitemesh と OpenSessionInViewFIlter/Interceptor はどうなるのですか?
オンラインで多くの調査を行った後、こことここでスタックオーバーフローに投稿し て、この有名な遅延初期化例外のブロックにまだ当たっているので、私は今、自分のプロジェクトと構成に本当に本当にイライラしています。ディスパッチャ applicationconfig を残りから分離しました。構成アプリケーション コンテキストとディスパッチャ コンテキストとの間のクロス コンポーネント スキャンはありません。
それでもまだこの例外があります。今は本当に選択肢がなく、頭の上で時計が刻々と過ぎています。
sitemesh と OpenSessionInViewFilter または OpenSessionInViewInterceptor に問題はありますか?
Hibernate GenericDAO を使用します。これがGenericDAO の構成です
これを読んで助けてくれてありがとう
java - OSIV パターンを使用しても「ロールのコレクションを遅延初期化できませんでした」という例外が発生する
LazyInitializationExceptionを回避するために OpenSessionInViewInterceptorを使用しています。
それはうまくいきましたが、OSIVを使用していても、いつかLazyInitializationExceptionが発生します。例外は次のとおりです。
さらに奇妙なことは、例外ログがログ ファイルにのみあり、Web サイトをナビゲートするのに問題がないことです。
これはどうしてですか?