問題タブ [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.
spring - ScalaでSpring@Transactionalを使用する
Springトランザクション管理を使用するJavaとScalaの混合プロジェクトがあります。Springアスペクトを使用して、@Transactional注釈付きメソッドでファイルを織ります。
問題は、ScalaクラスがSpringトランザクションの側面と織り交ぜられていないことです。Scalaでのトランザクションを考慮するようにSpringを構成するにはどうすればよいですか?
hibernate - Hibernate SQLQuery が Hibernate セッション キャッシュをバイパスする
私は大規模なデータベース操作を「トランザクション化」していますが、MQL アプローチを使用せずに休止状態で SQL クエリを実行すると、データベースのビューが正しく表示されないというこの問題に遭遇しました。具体的には、コードはほとんどの場合、より適切な方法で休止状態を使用しますが、誰かが単に sql を実行することにした場所があります。彼らがこれをしたのは好きではありませんが、現時点では「それはそれです」.
それを説明しているように見える説明を見つけましたが、すべての例は実際にコードでトランザクションを取得および管理しています。クラス全体で @TransactionAttribute アノテーションを使用してこのコードを変更し、この動作が発生する多くの場所を見つけていますが、説明が単にアノテーションでラップされたコードに適用されるとは完全には確信していません-私は仮定していました休止状態マネージャーを使用するものはすべて、セッション内のオブジェクト キャッシュに依存します。
間違った用語などで休止状態の概念を参照している場合は、事前に謝罪してください。
jakarta-ee - シームの@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)に相当するものはありますか?
とをEJB以外の環境で使用する必要がありますが、Seam@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
で同じものを使用するにはどうすればよいですか?@Transactional
REQUIRES_NEWと同じ値はありますか?
それとも、これに他の注釈がありますか?
java - Apache トランザクション:ファイルをトランザクション的に書き込む - resourceId の使用方法
誰かがファイルへのトランザクション書き込みを実装した場合は、助けてください。関連トピックは、以前のスレッド ( transactional write
)
で議論されました。
ユース ケースは次のとおりです。
ログ ファイルへの書き込みが失敗した場合、適切な DB トランザクションをロールバックする必要があります。
したがって、ファイルへの書き込みはトランザクション方式で実行する必要があります。
私はApache Commons Transaction lib を選択しました。
そして、適切なドキュメントや例が見つからないため、これ以上先に進めないという問題があります。
FileResourceManager のインスタンスを作成しました:
FileResourceManager frm = new FileResourceManager("c:\cur", "c:\cur", true, logger);
このApache Commons Transaction チュートリアルから理解できるように、次の手順を実装する必要があります。
取引開始:
frm.start();
そのトランザクション ID を取得します。
transactionId = frm.generatedUniqueTxId();
必要なメソッドを呼び出します。たとえば、transactionId と resourceId を指定した writeResource:
frm.writeResource(transactionId, resourceId);
そして、ここに曖昧さがあります:
a) どうすればresourceId
実際のリソースに接続できますか?トランザクション的に書く必要がありますか?
b) トランザクション的に書き込む私のファイルはどのようになりますresourceId
か?
アドバイスありがとうございます。
spring - @Transactional、Spring 2.5、および cglib を使用したデプロイでの AbstractMethodError
これでお役に立てば幸いです。Spring@Transactional
アノテーションを使用してメソッドをトランザクションとしてマークしていますが、必要な<tx:annotation-driven transaction-manager="txManager"/>
. 私のビルドには Spring 2.5.6 と cglib 2.1_3 が含まれています。
(Websphere 7 ランタイムへの) デプロイ時に、Bean 作成の例外が表示されます。根本的な原因は次のとおりです。
これは、そのメソッドを実装していないgenerateClass(...)
のインスタンスでメソッドを呼び出していることを意味していると思います。AbstractClassGenerator
これらすべてがSpringで透過的に設定されているように見えるので、問題を解決するためにここからどこに行くべきかわかりません...何かアイデアはありますか?
sql - 同じセッション/トランザクションでのGroovySQL+ Gorm
以下の簡単なシナリオを実行してください。テキスト形式で質問するためのより良い方法を見つけることができませんでした。
2つのドメインオブジェクトとトランザクションサービス:
grails - 更新のための Grails でのコマンド オブジェクトの使用
サービスは複数のドメイン クラスにまたがる更新に使用されると読みました。しかし、私はコマンド クラスを持っており、トランザクション更新を行うロジックをコマンド クラスに入れることには重大な欠点がある (または Grails パラダイムを壊す) かどうかを知りたいと思います。何かのようなもの:
そしてコントローラーで
spring - Spring @Transactional - javax.persistence.TransactionRequiredException
次のスキーマでは
Controller -> Service -> DAO Service オペレーションを @Transactional にしようとしています
私の UserService.fooFunction() で私は呼び出します
最後に dao.update(e) があります
flush() を呼び出すと、persistenceException がスローされます。
私が間違ったことをしたアイデアが不足しています。助けていただければ幸いです:)
以下の構成のチャンクを見つけることができます。
aop 部分:
トランザクションの注釈はありません。私の春のアプリを展開すると、見ることができます
hibernate - アノテーションを使用するモジュール化された Spring アプリケーションで、Hibernate 3 の「親」アプリケーションコンテキストにセッションが定義されていないため、LazyInitializationException が発生する
私は Hibernate3 と Spring3 の両方にかなり慣れていませんが、休止状態オブジェクトの遅延参照の初期化に関連する問題があります。
私は完全に含まれているdaoとサービスを持っています。ドメイン オブジェクトは、hbm2java とリバース エンジニアリング ファイルを使用して作成されます。サービス オブジェクトで注釈 (@Transactional) を使用して見つけたいくつかのベスト プラクティスに従いました。(このガイドは私にとって非常に役に立ちましたhttp://carinae.net/2009/11/layered-architecture-with-hibernate-and-spring-3/ )
私が抱えている問題は、アノテーション処理とトランザクション管理のために、service.jar に次のスプリング構成があることです。
私の hibernate.cfg.xml は、データソースの詳細とドメイン オブジェクトの注釈マッピングの単なるリストです。
サービスレイヤーとdaoレイヤーを使用しています。
そしてdaoレイヤー
このコードのコレクションは、maven モジュールとしてパッケージ化されており、私が開発しているスケジューリングおよびワークフロー モジュールである別の spring プロジェクトに依存関係として含まれています。関連する applicationContext.xml 情報
そして、基本的な Workflow.java:
LOG.info ステートメントの実行中に LazyInitializationException が発生しました (なぜ取得したのか理解しています)。トランザクションは、含まれているサービス maven 依存関係の spring-hibernate コンテキストによって管理され、このコンテキストでは使用できません。私が理解していないのは、LazyInitializationException を防ぐためにトランザクション管理をこのレイヤー (およびそれ以降) に含める適切な方法です。単純に追加してみました
ビジネス層のアプリケーション コンテキストに、サービスの依存関係で定義されたトランザクション マネージャーが表示されないことを訴えました。ただし、ワークフローステッパーの .execute() に @Transactional を追加すると、依存関係から構成が「継承」されます。
私は何が欠けていますか?
spring - Springトランザクションコンテキストはデータを永続化しません
私の問題は一般的な問題であることは知っていますが、ここで多くの質問を確認し、Springのドキュメントを確認しましたが、何が間違っているのか本当にわかりません。私の問題:JPAを使用したSpring WebFlowプロジェクトがあります(実装:OpenJPA + MySQLデータベース)。Spring ORMを使用して、EntityManagerを(@PersistenceContextアノテーションによって)単純なRegisterDAOに挿入します。MySQLを使用するためにGlassFishs(使用している)接続プールを構成しましたが、すべてが機能します-データベースで作業できますが、何かを永続化すると何も起こりません(データはデータベースに永続化されません)。問題は、私が使用するトランザクションコンテキストにあることを知っています。Spring Transaction Managementのドキュメントを読み、このドキュメントの構成手順に従います。これは私のapplicationContext.xmlです:
ご覧のとおり、RegisterDAOをRegisterFormModelに挿入しています。これには、レジスタフォームデータを検証し、最終的にデータベースにユーザーを追加するためのビジネスロジックが含まれています。検証は正常に機能します。新しいユーザーを追加しようとすると問題が発生します。コードは次のとおりです。
RegisterDAO:
@Transactionalアノテーションも試してみました。SpringapplicationContext.xmlを次のように構成しました。
そして、私のaddUser()メソッドに次のような@Transactionalアノテーションを付けました。
または、この注釈によってクラス全体に注釈を付けることもできます。
しかし、どちらの場合も問題は同じです-データはデータベースに保存されません。私はこれの初心者なので(春全体のように:))、AOPプロキシに問題はありますか?
編集:persistence.xmlでtransaction-type="JTA
「」を使用しているので、applicationContext.xmlで使用する必要があると思い<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />
ます-私は正しいですか?