問題タブ [struts2-s2hibernate]

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 投票する
1 に答える
3902 参照

java - 依存性注入の失敗 - full-hibernate-plugin を使用して struts2 で休止状態にする

struts2 の完全な休止状態プラグイン ( http://code.google.com/p/full-hibernate-plugin-for-struts2 ) を使用して、struts2 の例で休止状態を使用しようとしています。

すべての Jar を lib フォルダーに配置しました。

そして、これが私のアクションクラスのコードです:

struts.xml で次の構成を使用して、hibernate セッションをアクション クラスに挿入するように完全な hibernate プラグインを構成したと思われます。

しかし、アクション クラスが hibernateSession 変数にアクセスしようとすると、常に失敗し、常に null になります。したがって、依存性注入は失敗しているようです。

理由はありますか?助けてください、どうもありがとう。また、他の構成ファイルを確認する必要があるかどうかも尋ねてください。

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

hibernate - Struts2でHiberate-完全なHibernateプラグインまたは別の方法を使用してセッションを閉じますか?

Struts2.2.1.1とHibernate3.6.2.Finalを使用しています。また、Tomcat7.0.11で実行されている接続プールにC3P0を使用しています。

Hibernateセッションが閉じられず、「hibernate.c3p0.max_size」プロパティで構成されている開いている接続の最大数をすぐに超えてしまうという問題があります。

これは、Hibernateセッションが開いているが、閉じられていないためだと思います。ServletContextに保存されているSessionFactoryからセッションを開いています。Actionクラスのfinally{}ブロックでセッションを閉じようとしましたが、org.hibernate.LazyInitializationException例外がスローされます。

調査を行ったところ、FullHibernatePluginアプローチとOpenSessioninViewアプローチが見つかりました。

これは一般的な問題だと思いますが、最も一般的に使用されている解決策の感触をつかみたいと思います。

私が気付いたもう1つのことは、FullHibernateプラグインがStruts2.0.9+から2.1.6をサポートしていることですが、私は2.2.1.1を使用しています。これが問題になるのか、それともWebサイトが新しいバージョンをリストするように更新されていないのかわからない。

どんな入力でも大歓迎です。

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

java - Struts2 + 完全な Hibernate プラグイン --> セッションが閉じていますか?

この質問に関連しています(答えが実際には要点に達していない場合):

Struts2 で休止状態にする - 完全な休止状態プラグインまたは別の方法を使用してセッションを閉じますか?

私は同じセットアップをしています: Struts 2.2.3 と struts2-fullhibernatecore-plugin-2.2.2-GA 。Struts2 とプラグインのデフォルトを変更していません。私はMySQLを使用していますが、追加の接続プールはなく、一般的には何も凝っていません。

アクションで次のコードを使用します。

これにより、約10ケースごとに次の例外が発生しますが、これは私のコードでは発生しませんが、トランザクションがプラグインによってコミットされた後に発生する可能性があります。

コードのロジックの問題ですか、それともプラグインに関連する問題ですか? 後者の場合、構成の変更は役に立ちますか? プラグインをそのまま使用したいのですが、確実に動作しないか、データベースに関する私の理解が原始的すぎて、コードを書き直す必要があるのではないかと心配しています;-)。

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

hibernate - Hibernate および Struts2 java.lang.NullPointerException w/CRUD デモ

Hibernate と Struts2 を一緒に使用しているプロジェクトがあり、どちらも初めてです。

Hibernate と Struts2 の組み合わせで CRUD プロセスを実行するのに問題があります。これを特定の方法で行いたいのですが、問題があります。メイン プロジェクト以外で発生している問題を再現するために、このチュートリアルから WAR をダウンロードし、正常に実行しました: http://struts.apache.org/2.x/docs/crud-demo-i.html

次に、次の変更を加えて Hibernate を導入しました。

1) まず、実際のプロジェクトの JAR をこのプロジェクトに追加して、すべての同じバージョンを実行していることを確認しました。キーポイントは、Hibernate 3、Struts2、およびそれらをリンクする FullHibernateCore プラグインを訴えていることです。詳細については、私が使用している JAR を次に示します。

2) 次のように hibernate.cfg.xml を追加しました。

3) com.aurifa.struts2.tutorial.model.Department と com.aurifa.struts2.tutorial.model.Employee を永続化アノテーションで更新しました。

4) com.rwblackburn.struts2.tutorial.dao.InitHibernate を作成し、それを実行して初期 DB を作成し、デモと同じデータを入力します。

5) EmployeeDao を実装する com.rwblackburn.struts2.tutorial.dao.EmployeeHibernateDao を作成しました。

6) DepartmentDao を実装する com.rwblackburn.struts2.tutorial.dao.DepartmentHibernateDao を作成しました。

7) EmployeeDaoService と DepartmentDaoService を更新して、デモの「NoDB」バージョンの代わりに新しい休止状態の DAO を使用するようにしました

現在、InitHibernate は問題なく動作しているため、少なくともそれだけの機能があり、DB 自体は問題ないことがわかっています。ただし、ブラウザーでプロジェクトを読み込もうとすると、 index.action ページで次のエラーが発生します。

デバッグ トレースを実行すると、DepartmentHibernateDao の Session 変数と Transaction 変数が実際には null であることを確認できます。

多くの検索を行った後、このスレッドを見つけました: Struts2 + Full Hibernate Plugin --> Session is Closed?

これは私が抱えていたのと同じ問題のようです。ただし、Struts のバージョンを 2.1.6 にダウングレードしても、まだ問題があります。新しいライブラリは次のとおりです。

また、一部の休止状態セッション呼び出しの前に「if (session == null)」チェックを追加することで、そのスレッドにリストされている準修正を実装しました。例えば:

2 つ目は、「org.hibernate.SessionException: Session is closed!」を回避するために追加した場合です。上記のスレッドに基づいています。

これにより、「java.lang.NullPointerException」と「org.hibernate.SessionException: Session is closed!」が渡されます。時々、これは矛盾しています。ページを更新し続けると、最終的に戻ってきます。

この新しい問題のスタック トレースは次のとおりです (上記の方法で出力した行の一部を確認できます)。

おそらく、セッションを使用するメソッドの 1 つで、上記のセッション チェックが欠落しているだけです。しかし、現時点では、これが答えになることはないようです。私は何か非常に間違っているか、どこかに欠けているものがあります。

必要に応じて、このテスト アプリ (Struts 2.1.6 を使用) の WAR ファイルを誰にでも電子メールで送信できます。どんな助けでも大歓迎です。

ありがとうございました

PS: 最初にこれをプラグイン サポート フォーラムに投稿しましたが、応答がなかったので、SO が私を助けてくれることを期待していました (code.google.com/p/full-hibernate-plugin-for の発行番号 36)。 -struts2/issues)

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

hibernate - 休止状態を使用してオブジェクトをデータベースに保存できません

私はsturts2と休止状態のフレームワークが初めてです。テストWebアプリケーションを作成しています。1 つのモデル クラス 'UserDetails' 1 つの DAO クラス 1 つの DAO の実装とアクション クラスがあります。オブジェクトをデータベースに保存すると、次のエラーが発生します。

UserDetails.class

UserDetailsDaoImpl - 実装クラス

アクションクラスは

そして、保存ボタンを押すと、次のエラーが発生します

何が間違っているのでしょうか?前もって感謝します。

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

hibernate - Hibernate 3 との Struts2 の統合に失敗しました

Struts2 で Hibernate を使用したい。SessionFactory が読み込まれると、次のエラーが発生します。

psvm の通常のクラスでセッション ファクトリを取得すると、エラーは発生しませんが、jsp ページまたは Tomcate のみを実行すると、上記のエラーがスローされます。

インターネットで検索したところ、一部のライブラリが一致していないことが原因と言われています。

これは、そのページにリストされているいくつかのjarを追加するように言いました.そしてそれらを見つけるために、リンクも与えられました. しかし、瓶は見つかりませんでした。
また、full-hibernate-plugin-for-struts2という別のページが見つかりましたが、有用なライブラリが見つかりませんでした。war ファイル (通常のクラス) と、strut や休止状態のライブラリではない Web プロジェクトのみが含まれていました。

私が使う

  • NetBeansIDE 7.0.1

  • トムキャット7

この問題または作業中のライブラリセットを解決する方法を知っている人はいますか?

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

hibernate - struts2-fullhibernatecore-plugin-2.2.2-GA が機能しない

Hibernate を使用したデモ strut2 プロジェクトで struts2-fullhibernatecore-plugin-2.2.2-GA を使用しています。私は最善を尽くしましたが、それを機能させることはできません。私はすべての最新の瓶を使用しています。

何か不足していますか?

助けてください

エラーログ

私のプロジェクトのライブラリ

ここに画像の説明を入力

エラーが発生するよりもページにアクセスすると

私の顧客DAOImpl.java

**編集済み********************

問題は、セッションとトランザクションが注入されたときの上記のコードにあります。これは struts2-fullhibernatecore-plugin-2.2.2-GA がサポートされていないことの問題かもしれないと思っています

プラグイン サイトhttp://code.google.com/p/full-hibernate-plugin-for-struts2/は、サポートされているバージョンのみが

このプラグインは、Hibernate Validator 3.1.0 および 4.0.2 (2.2 バージョン以降) と互換性があります。

それが問題ですか。上記のバージョンでこのプラグインを使用した人はいますか?

もう 1 つの質問: このプラグインを本番環境で使用できますか?

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

hibernate - Hibernate3でのみ機能する完全なHibernateプラグイン。とにかくHibernate4で?

学習目的のCRUDデモプロジェクトでstruts2-fullhibernatecore-plugin-2.2.2-GAに苦労しています。以下は私が得るエラーであり、さまざまな休止状態の依存関係がそれを機能させようとしました。下記参照

エラー

このスレッドの回答からわかります ここをクリック

プラグインで動作する休止状態のバージョンを確認するために、さまざまなMaven依存関係を開始して、

以下のバージョンから機能しない

このバージョンまで動作します

質問:明らかにHibernate3を使用したくないので、struts2-fullhibernatecore-plugin-2.2.2-GAで最新のhibernate4 +を使用できる方法はありますか?

質問: struts2の休止状態で最も広く使用されているDIは何ですか。上記のプラグインが機能しない場合は、Springまたはgoogleジュースを使用する必要がありますか?ビューパターンを除いて、休止状態のセッションを管理するための他の実行可能なソリューションはありませんが、そのアンチパターンと言って、多くの欠点があります。

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

hibernate - Struts2 Hibernate プラグイン

休止状態 (JPA) を使用してデータをクエリし、休止状態セッションが閉じられたなどの状況に違反することなく jsp に表示できる struts2 とうまく連携する休止状態プラグインを探しています。

最新の struts2、Hibernate (JPA) を使用しています。

Hibernate から Spring DAO または JPA を使用する方が良いですか? 私はJPAの方が好きです。

最新の struts2 と Hibernate で Full HIbernate Plugin を使用することは可能ですか?

助けてください。

ありがとう。

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

java - JavaHibernate接続リーク

Struts2でHibernateを使用すると、フロー全体は次のようになります。

hibernate.cfg.xmlなので:

そしてDAOの拡張のためにAbstractSimpleGenericDao

次に、次のように私のDAOクラスでDAOの上に拡張します。

次に、私のstruts Actionクラスで、DAOをインスタンス化し、リストを取得します。

このabcActionクラスを呼び出している場合、指定されたメニューリンクを繰り返しクリックすると、接続リークが発生し、jProfilerを使用して表示できる開いた接続としてカウントされ、閉じることはありません。その間、それはまた漏れている接続です。

jProfilerを使用して開かれたすべてのリークされた接続のStackTrace

なぜHibernateがこれらの接続をリークしているのですか?

それは、Hibernateがセッションで接続を維持し、同じ接続を再利用しているため、同時にリクエストを行う場合、セッション接続が占有されていると接続がリークするようなものです。これは私が想定しているだけです。わからない。