問題タブ [orika]
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 - Orika はネストされたコレクションをマップできますか?
Orika ライブラリを使用して、ネストされたコレクションでフィールドをマップしたいと思います。クラスの私のフィールドは次のように定義されています。
Pojo は単純な POJO クラスです。残念ながら、Orika の内部ロジックで NullPointerException が原因で MappingException が発生しました。
私は間違った方法で何かをしましたか?カスタム マッピング機能を使用する必要があるのでしょうか?
編集:
これが私のコードです:
}
public class Source { プライベート 最終 List> リスト = 新しい LinkedList>();
}
public class Destination { プライベート 最終 List> listDest = new LinkedList>();
}
パブリック クラス メイン {
}
上記のコードを実行すると、次の例外が発生します。
java - Null ポインター例外のみが発生したときに失敗したマッピングをデバッグする方法
私は自分のプロジェクトで Orika を使用しており、通常は大きな成功を収めています。
新しいタイプを追加し、ソースとターゲットの両方を登録しました。 mapper.mapAsList(sourceList, targetClass) を使用してマッピングすると、次の例外が発生します
ただのヌルポインタ例外。
今、私は長い間それをデバッグしようとしましたが、成功しませんでした (主にそのほとんどが生成されたコードであるため)。
質問:
- 意味のある例外を取得する最良の方法は何ですか。
- どうすればデバッグできますか?
- 生成されたクラスを表示する方法はありますか。
ありがとう
jdbc - Orika マッピング jdbc ResultSet Bean
Java レイヤーがストアド プロシージャを使用して DB と通信するようにします。ストアド プロシージャは互換性レイヤーとして機能するため、同じデータベース上で 2 つの異なるスキーマを想定して、2 つの異なるバージョンのアプリケーションを実行できます。
そのために、Orika を使用して、JDBC ResultSet から Bean にすばやくマップしたいと考えました。
これまでにこのテスト コードを作成しました。 @Test public void testSelectAndMap() throws Exception { Assert.assertNotNull(dataSource); try (接続 con = dataSource.getConnection()) { try(Statement stmt = con.createStatement()) {
これは高速でうまく機能しますが、自分で ResultSet を Bean コードに書き込むよりもコーディングにそれほど時間はかかりません。しかし、マッピングを自動的に生成できれば、時間を大幅に節約できます。
私は見たIntrospectorPropertyResolver
。次のようなコードを書きました。
これはいいですね。Orika は自動的に Bean のプロパティ名を決定し、それを expr で提供します。しかし、それは私にタイプを教えてくれません。また、何にマップしようとしているのかもわかりません。この場合、ターゲットが ResultSet であるふりをする必要があります。
- データを入れようとしている expr の型を知るにはどうすればよいですか? の場合は
String
、インライン バインディング呼び出しResultSet.getString("expr")
を行い、Orika に を使用するように指示しますjava.lang.String
。タイムスタンプの場合は、インライン バインディング呼び出しResulset.getTimestamp("expr")
を行い、Orika に使用するように指示しますTimestamp
ResultSet
からへInternalTestPojo
、たとえばMap
からにマップしようとしていることをどのように知ることができInternalTestPojo
ますか?
java - Orika を使用した List を含む 2 つのオブジェクト間のマッピング
Orika を使用してList<...>
、 List タイプが別のオブジェクトである を含む 2 つのオブジェクト間をマップしようとしていますが、mapperFactory.classMap(...)
Orika でマッピング構成のさまざまな順列を試しても、プログラムを実行すると例外がスローされます。
http://orika-mapper.github.io/orika-docs/mappings-via-classmapbuilder.htmlを見ると、マッピング a の構文List
はparentProperty{childProperty}
.
この質問のために、マップしようとしているオブジェクトを単純化しました。ソース オブジェクトはToDoTaskListEntity
で、宛先オブジェクトはToDoTaskListDTO
です。ソース オブジェクトには次のようにToDoItemEntity
定義されたリストがList<ToDoItemEntity>
含まれ、宛先オブジェクトには次のように定義された対応するリストが含まれます。List<ToDoItemDTO>
私の質問は、子オブジェクトがそれぞれの親オブジェクト内にもマップされるように、ToDoTaskListEntity
との間で Orika のマッピング構成をどのように定義すればよいですか?ToDoTaskListDTO
List<ToDoItemEntity>
List<ToDoItemDTO>
私のマッピング構成のコードは次のとおりです。
マッピングを呼び出すコードは次のとおりです。
ソース オブジェクトのコードは次のとおりです。
私の宛先オブジェクトのコードは次のとおりです。
Orika がスローする例外は次のとおりです。
mysql - Orika Mapper + Gson (JSON) + MySQL の例外
Spring MVC + MySQL に基づいて、Web にある種の「ポーリング システム」を実装しようとしています。私が抱えている問題は、マップしようとしている 2 つのクラスがあることです。1 つは Web 経由でデータを移動するために使用する DTO で、もう 1 つは Hibernate でデータベースにアクセスするために使用するものです。ここまでは順調ですね。
私が実装しようとしているアイデアは、DTO にいくつかのリストを作成し、それらを JSON に変換し、その後データベースに (文字列として) 保存することです。
これら 2 つのオブジェクトをマッピングするために、Orika カスタム マップを使用しています。私に起こった面白いことは、私が持っているリストを JSON としてデータベースに保存できることです (私は GSON を使用してそれらを変換しています)。
誰かが私を助けてくれるかどうかを確認するために、コードをできるだけ明確にしようと思います。私が言っているように、データを保存するときはまったく問題ありませんが、データを取得する必要がある場合 (文字列を取得し、JSON に解析し、その後リストに解析する)、データが折りたたまれます。 . 何か案は??前もって感謝します
オリカマッピング
エンクエスタ
エンクエスタDTO
マネジャー
例外
MySQL テーブル