問題タブ [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.
spring - セッション内の OpenSessionInViewFilter とオブジェクト - Spring MVC
OpenSessionInViewFilter とセクションで説明されているオブジェクトに問題があり、特定のリクエストで実行すると、次のことが発生します。
私のコントローラー:
私のエンティティ:
セッションでエンティティを処理するためのベスト プラクティスは何ですか?
spring - OpenSessionInView が起動しない、春、休止状態
こんにちは、OpenSessionInViewFilter に問題があります。このフィルターはまったく開始されません。これで私の拷問は3日目です。解決方法がわかりません。これについて多くの質問と回答を読みましたが、何も役に立ちませんでした。構成ファイルがあり、2 つのプロジェクトがあり、最初に 2 番目に必要なサービス (Web アプリ) があります。
web.xml の最初のプロジェクトには次のものがあります。
このプロジェクトには、spring-config.xml があります。
次のプロジェクトには、別の spring-config.xml があります。
そして spring-hibernate.xml:
これで、Web アプリケーションと web.xml に移動できます。
そして別の spring-config.xml:
この大きな設定ファイルで申し訳ありませんが、最後の tomcat 起動ログは次のとおりです。
私を助けてください
hibernate - Hibernate Update の問題 - OpenSessionInViewFilter
Spring MVC 3 と OpenSessionInViewFilter を使用して、アプリケーションで休止状態からオブジェクトを更新しようとして約 5 時間かかりましたが、運がありませんでした。
StackOverflow やその他のフォーラムで利用可能なすべてのスレッドを調べた可能性があります。
Hibernate はエラーをスローせず、オブジェクトが更新されたと言いますが、DB には反映されません。
どんな助けでも大歓迎です。
したがって、更新するJSON 要求は次のとおりです。
コントローラ:
サービス クラス:
DAO メソッド:
**更新 2: Deinum 氏の提案に従って、トランザクション マネージャーの構成を o2-data.xml に移動し、o2-data.xml 内の他のコンポーネントをスキャンしながら、ディスパッチャー内のコントローラーのみをスキャンするようになりました。
データ構成
ディスパッチャ構成:
web.xml
java - Hibernate、Spring、Struts 2 を使用して View パターンでセッションを開く
永続化には Hibernate を使用し、ビュー パターンには Struts 2 を使用するプロジェクトに取り組んでいます。
私の構成ファイルは次のとおりです。
web.xml
:
applicationContext.xml
:
私の問題は、Struts 2 のビュー パターンで Hibernate セッションを開いたままにできないことです。つまり、Hibernate でまだ初期化されていないデータ (コレクションなど) を読み込もうとすると、org.hibernate.LazyInitializationException
.web.xml
ビューパターンでセッションを開いたままにするには、このスコープを追加する必要があることがわかりました。
範囲:
しかし、これでも私はまだ同じ問題を抱えているので、誰かが私が間違っていることを教えてもらえますか?
java - Spring MVC で ScrollableResults に基づく Stream を戻り値の型として使用する際の問題
重要な注意: これは、ターゲット修正バージョン 4.1.2のSpring の問題として受け入れられています。
私の目標は、Hibernate の から HTTP 応答を生成するときに、O(1) 空間の複雑さを達成することScrollableResults
です。MessageConverter
aから返されたオブジェクトを処理するために a がディスパッチされる標準的なメカニズムを維持したいと考えています@Controller
。私は以下を設定しました:
MappingJackson2HttpMessageConverter
JsonSerializer
Java 8 を処理するa で強化されましたStream
。- ;
ScrollableResultSpliterator
にラップScrollableResults
する必要があるカスタム。Stream
OpenSessionInViewInterceptor
内で Hibernate セッションを開いたままにしておく必要がありMessageConverter
ます。- に設定
hibernate.connection.release_mode
しON_CLOSE
ます。 - JDBC 接続に必要な ResultSet 保持機能があることを確認してください
con.setHoldability(ResultSet.HOLD_CURSORS_OVER_COMMIT)
。
さらに、そのような保持機能をサポートするデータベースが必要です。PostgreSQL はそのようなデータベースであり、これで問題はありません。
私が遭遇した最後のつまずき点は、HibernateTransactionManager
トランザクションのコミットで使用されるポリシーです。基礎となるセッションが「休止状態で管理されている」場合を除き、disconnect()
他のすべてのものと一緒にカーソルを閉じます。このようなポリシーは、いくつかの特別なシナリオ、特に「会話範囲のセッション」で役立ちますが、これは私の要件からはかけ離れています。
私は悪いハックでこれを回避することができました.問題のメソッドを、削除されたdisconnect()
呼び出しを除いて事実上オリジナルのコピーアンドペーストであるメソッドでオーバーライドする必要がありましたが、プライベートAPIにアクセスするにはリフレクションに頼らなければなりません.
私のアプローチは ResultSet に基づく応答を生成する「正しい方法」であると考えており、Streams API はこのアプローチを非常に便利にするため、サポートされている方法でこれを解決したいと考えています。
私のハックなしで同じ動作を得る方法はありますか? そうでない場合、これは Spring の Jira を介してリクエストするのに適していますか?
jsf - Manager EntityManager は JSF ライフサイクルを考えました
さて、Spring Framework を使用せずに、パターン「OpenView Session in View」を手動で作成しようとしています。
私のアイデアは、ビューの復元フェーズで EntityManager SESSION を開き、リスナーを使用して応答のレンダリング フェーズで閉じることです。
しかし、プロセスが CRONTAB からのもので、JSF フェーズがトリガーされていない場合、これは機能しないと思います。
Spring なしで OpenSessionInView を実装するための良い解決策を誰かが持っていますか? (私はCDIを使用しています)