問題タブ [micronaut-data]
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.
java - 関連するエンティティを遅延してフェッチする Micronaut データの問題
私は現在、micronaut データを既存の micronaut プロジェクトに (アップグレードの一環として) 組み込む過程にあり、関連するコレクションを (OneToMany
リレーションを使用して) 遅延フェッチすることに関していくつかの問題が発生しています。
私は次のエンティティ構造を持っています:
手元にあるmerchantPrefs
ので、次のリポジトリ メソッドを使用して、問題なく第 1 レベルの関連エンティティ (つまり)を取得できます。
awards
ただし、たとえばこのエンティティから最も内側のコレクションを取得しようとすると:
を取得しLazyInitializationException
ます。
さらに、同じコードが正常に動作しているように見えることもあるため、これは散発的な問題のようです。何が問題なのかよくわかりませんが、 に移行する前は問題がなかったので、関係を正しくモデル化したと思いますmicronaut-data
。
ここで何が間違っているのかわかりません。これを解決するために、どんな助けでも大歓迎です。
hibernate - 休止状態の Micronaut-data: 中止されたトランザクションはまだデータベースを変更します
現在、micronaut-data をトランザクションで動作させる際に問題が発生しています。
私の理解の範囲では、次の流れです。
- 取引開始
- 書き込み 1 を実行
- 例外をスローする
変更されていないデータベースを生成する必要があります。つまり、トランザクションをロールバックする必要があります。
micronaut-web start、単純なエンティティ、リポジトリ、および @Transactional、SynchronousTransactionManager などを使用してさまざまな試行を行うテストを使用して最小限の例を作成しましたが、すべての場合において、データベースの変更はトランザクション後に表示されます。最小限の例は、https ://github.com/Spellmaker/transactiontestgradle/ にあります。
テストクラスへの直接リンク: https://github.com/Spellmaker/transactiontestgradle/blob/master/src/test/kotlin/com/example/TransactiontestgradleTest.kt
明らかに、構成またはトランザクションの理解に何か問題があるに違いありません。それで、それはどれですか?
jpa - Micronaut JDBC リポジトリ - クエリを実行しようとすると例外が発生する
Micronaut を使用するのは初めてです 最近、Micronaut を使用する会社で新しい仕事に就きました。
統合テストを実行してこのメソッドを実行しようとするたびに、次の例外が発生します。
これを理解するのに本当に苦労しています。試してみるべきことについてもアイデアが不足している同僚に説明しました。
このプロジェクトの他の場所には、非常によく似たことを行う既存のコードがいくつかあります。それは正常に動作します。
前もって感謝します。
java - Micronaut、db-scheduler: 現在のトランザクションがありません。周囲のメソッドで @Transactional を宣言することを検討してください
Micronaut で db-scheduler を使用しようとしています。したがって、TransactionAwareDataSource タイプの実際の DataSource を注入する @Singleton サービスを作成しました。次に、特定のメソッドを呼び出して、次のようなスケジューラをセットアップします。
これは、「作成」時に次の例外をスローします。
私のアプリの他の場所では、すべてが正常に機能しています。つまり、リポジトリを介して DB の読み取りと書き込みを行うことができ、@Transactional も同様に機能しています。
問題がどこにあるかは 100% わかりませんが、注釈の配置に関係していると思います。これは、この場合、私が実際に変更できるものではありません。一方、micronaut を効果的にバイパスしてデータソースを手動で作成すると、機能します。
ところで:DBへの最初の呼び出しが行われるdb-scheduler内で例外が発生します(c.getMetaData()。getDatabaseProductName())。
Micronaut-バージョン: 2.3.4、Micronaut-データ: 2.2.4、すべてが適切にセットアップされています。
この問題を解決する方法はありますか?それともバグですか?
ありがとう!