問題タブ [transactional]
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 - アノテーションを介してHibernateセッションが期限切れにならないようにしますか?-ロールのコレクションを遅延初期化できませんでした
返されたオブジェクトのメンバーであるbag/Collectionにアクセスしようとすると、「ロールのコレクションを遅延初期化できませんでした」という例外をスローする休止状態のDAOがあります。
例外をスローする問題の範囲を理解しています。Hibernateは私のオブジェクトを返し、コレクションの場合はプロキシオブジェクトを返します。呼び出し元で、これらのプロキシオブジェクトにアクセスしようとすると、休止状態のセッションが期限切れになったため、この例外がスローされます。
私が知りたいのは、アノテーションを使用してセッションが期限切れにならないようにするにはどうすればよいですか?出来ますか?
たとえば、私の呼び出しメソッドが次の場合:
アノテーションを使用してこの例外を防ぐにはどうすればよいですか?解決策の1つは、コールバックを介してHibernateセッションを拡張することです。これは、擬似コードでは次のようになります。
しかし、これは、コレクションにアクセスする必要のあるすべての関数に含まれているため、かなり繰り返しのようです。そこに@Transactionalアノテーションをたたくだけで、それを実行する方法はありませんか?のように:
これを私に説明するのにあなたの助けに感謝します。
hibernate - @TransactionalSpringJunitテストがロールバックを実行していない
daoレイヤーのJUnitテストケースを設定しようとしています。ただし、テストデータを実際にDBに永続化する必要はありません。
だから私はそれをトランザクションで行い、すべてのテストの後にロールバックするべきだと思いました。これにより、次のデータソース設定が残ります。
テスト対象のdaoクラスは次のように設定されます。
実際の永続化ジョブはうまく機能します。ただし、意図したロールバックは実行されません。
TransactionalTextExecutionListenerは、次のように定義されています。
自動配線されたメンバーを使用して、daoメソッドにアクセスしています。
TL; DR
JUnitテストケースは、ロールバックが実行されたと述べているにもかかわらず、テストデータを保持しています。
java - aop:afterアドバイスも利用するメソッドでspringの@Transactionalを使用する
私はすでに同様の質問があるかどうかを確認しようとしていましたが、それを見つけることができませんでした、ここにあります。
単一のBOがリフレクションを使用して多くのDAOへのメソッド呼び出しを行うレガシーコードがあります。簡単にするためにコードを変更しました。
問題は、要件が変更されたため、EndpointData1DAOでinsertData()が呼び出されたときに、EndpointData2DAOのinsertDataも呼び出される必要があることです。
EndpointData2DAOをEndpointData1DAOのメンバーとして追加するだけでもかまいませんが、SRPに著しく違反し、見苦しくなります。
だから私はアノテーション@ExecuteAfter(clazz = EndpointData2DAO.class、method = "insertData")を書きました。これは、EndpointData2DAOのインスタンスを取得し、アノテーションを付けるクラスのメソッドが実行された後、aop:afterを使用してinsertData()を呼び出します。 、与えられたように
1 2は、machoBO.handleEverthing( "Data1");を呼び出すと出力されます。
今私の質問は、EndpointData1DAOとEndpointData2DAOのinsertData()は同じ物理トランザクションにあるのでしょうか?つまり、EndpointData2DAOのinsertData()のランタイム例外は、EndpointData1DAOのinsertData()によって挿入されたデータをロールバックしますか?
よろしくお願いします〜!!
java - @Transactionalがロールバックで「トランザクションが正常に開始されませんでした」をスローします
次のサービスメソッドにトランザクションとして注釈を付けました。
ただし、例外が内部でスローされた場合
activateCustomer(顧客、ブール値、ブール値)
メソッド、次のエラーが発生します:
これは私のapplication-context.xmlからの抜粋です:
なぜこれが起こるのか、私にはよくわかりません。助けていただければ、どうもありがとうございました。
hibernate - 永続化されていないエンティティ-Spring+Hibernate + JPA
Spring + Hibernate + JPAを使用していますが、エンティティをデータベースに永続化できない状況があります。@Transactionalで注釈が付けられたサービスクラスを設定しました。挿入されたEntityManagerを含むDAOを使用します。サービスオブジェクトで関数を呼び出すと、DAOが実行している読み取りの選択が多数表示されますが、DAOによって発行されたマージと削除の結果として更新/削除が行われません。確かに私の設定に何か問題がありますが、私はそれを見ることができません。
persistence.xml
config.xml
AccountService.java
UserDAOImpl.java
AccountActivationController.java
spring-mvc - Liferayトランザクションのハウツー
Liferayフォーラムからコピーしています-2週間で回答が得られませんでした。 http://www.liferay.com/community/forums/-/message_boards/message/9384663
ドキュメント/ブログのLiferayトランザクションの方法を探しています。
Liferay 6.0.6 PostgreSQL
私はjax-wsWebサービスに接続しています。私はLiferayサービスのみを使用しています。
例:ドキュメントを挿入してタグを付ける
トランザクションを設定する必要があります。
私のクラスの注釈
@Transactionalはliferayの1つです
メソッドには、
WSはうまく機能しますが、トランザクションはありません-ドキュメントが作成され、NoSuchEntryExceptionドキュメントがLiferayに残ります。
以下のフォーラムスレッドに基づいて試行されました: http ://www.liferay.com/community/forums/-/message_boards/message/9019161
フックスプリング構成では何もしませんでした。
分離などを変更しようとしましたが成功しませんでした。
ガイドはいますか?
どうもありがとうございます
tfs - Team Foundation Serverのバックアップ計画ウィザードでのトランザクションバックアップ間隔とはどういう意味ですか?
現在、TeamFoundationServerのバックアップ計画を立てています。TFS用のPowerToolsをダウンロードし、そのパックに含まれているバックアッププランウィザードを使用しています。私は今、バックアップのスケジュール方法を決定することになっている段階にあり、セットアップに何を選択すればよいかわかりません。
トランザクションバックアップ間隔を除いて、すべてが何を意味するのかわかります。
良いスケジュールの提案をいただければ幸いです。私が達成したいのは、可能であれば、いくつかのバージョンを復元し、それでも振り返ることができることです。必要な最小限のバックアップは最新バージョンです。
以前に「バックアップ保持日数」を選択して30に設定したことを追加することが重要かもしれません。
unit-testing - Spring Framework - 単体テストの設計
私は、Spring ユニット テスト、特にトランザクション ユニット テストに関する少しの議論を開始するために書いています。
現在、さまざまなクラスに約 441 個のテストがあり、次のように注釈が付けられています。
各テスト クラスには、独自のテスト コンテキストがあります。
個々のテスト クラスまたは個々のパッケージを実行すると、テストが正常に実行されるという問題に直面しています。
ただし、maven または Hudson 統合などの同様のものを使用して、すべてのテスト (現在は 400 以上) を実行するようにスケールアップしたい場合。
ある時点に到達すると、Java GC 制限を超えたエラーが発生し始めます。
これは、メモリ制限を増やしたり、警告をオフにしたりする必要があるというよりも、テスト計画の設計によるものだと感じています。
誰かが自分の経験と、同様の問題を解決した方法を共有できますか?
エグジー
hibernate - ネストされた @Transactional
春に@Transactionalアノテーション付きメソッドをネストすることは可能ですか? 次のようなことを考えてみましょう:
このような場合、 b() でロールバックし、 a() でロールバックするとどうなりますか?
spring - @Transactional Junit テストでのドメイン オブジェクトからの双方向関連付けの使用
@Transactional JUnit テストをセットアップしており、いくつかのテスト データをデータベースに保持し、関連付けが正しいかどうかもテストしたいと考えています。ただし、アソシエーションをテストする場合、非トランザクション テストで機能する場合でも、常に null と評価されます。
@Before アノテーションを使用して 2 つのオブジェクトを永続化します。
テストでこれら 2 つのオブジェクトにアクセスすると、正しいインスタンスが得られます。
と の間の関連付けをチェックするt
とo
、その関連付けを明示的に定義したため、正しい参照が得られます。
しかし、逆にチェックすると、オブジェクトo
は正しく更新されません。
関連付けは、ドメイン オブジェクトで次のように定義されます。
でOne
:
でTwo
:
テストを @Transactional として実行しないと、うまく動作します。
@Before メソッドの代わりにテスト内にエンティティを保存して編集 しても、違いはありません。