Javaの別のフィールドにマッピングされたフィールドは、参照フィールドは、インタフェース対応する遷移に通過しません

:インタフェースの開発では、我々は多くの場合、問題が発生し、アナロジーは、私たちのエンティティクラスAは二つのフィールドとPWDユーザーインターフェースを持っていますが、それを行うにはどのようにユーザ名とパスワードが必要ですが、私は2つの方法を考えた
1。 Bは、新たに取り出した後、マップに入れたりBに、フィールドをエンティティクラスや新しいマップを作成します

この方法フィールド少ないし、大丈夫であれば、それはマルチフィールドがあまりにも面倒だろうある場合。

私は、詳細の下に来た。このように2は:
まず、私は簡単にするため、ミドルクラスのエンティティを呼び出す新しいエンティティクラスを作成、私はフィールドのあまり書きません

パッケージcom.qcr.jituan.sys.service.contract.impl。

輸入com.fasterxml.jackson.annotation.JsonAlias。
輸入com.fasterxml.jackson.annotation.JsonProperty。

パブリッククラスSealSaveFieldSync {

 

@JsonProperty( "SID")
プライベート文字列pkSeal; //主键

@JsonProperty( "bcode")
プライベート文字列vssubtypecode。

@JsonProperty( "PNAME")
プライベート文字列vssubtypename。

@JsonProperty( "porg")
プライベート文字列vssubordid。

@JsonProperty( "vorgname")
プライベート文字列vssubordname。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

注意:パラメータフィールドインタフェースに対応する番号を、2当社エンティティクラスのフィールドの数に対応

次に書き込むエンティティクラスは、そのまま符号化するために、私は直接法から抽出し、焦点であります

/ **
*实体类转マップ
* @paramシール
* @return
* /
パブリック静的HashMapの<文字列、文字列> entityToMap(SealVOシール){
HashMapの<文字列、文字列>マップ=新しいHashMapの()。
(項目フィールド:seal.getClass()getDeclaredFields()。)のための{
{試みる
)ブールフラグ= field.isAccessible(。
field.setAccessible(真の);
オブジェクトo = field.get(シール)。
IF(!O = NULL){
フィールドcontField = SealSaveFieldSync.class.getDeclaredField(field.getName())。
JsonProperty voField = contField.getAnnotation(JsonProperty.class)。
文字列s = voField.value()。
map.put(S、o.toString())。
}
field.setAccessible(フラグ)。
}キャッチ(例外e){
e.printStackTrace();
}
}
マップを返す;
}
。1
2
3
4
5
6
7
8
9
10
11
12である
13である
14
15
16
17
18れている
。19
20は、
21である
22である
23は
24
25
コード私のエンティティクラス、これをシール我々が得るデータの方法はこれです:


あなたが迅速かつ容易に、フィールド名にエンティティクラスは、別のフィールドに変換することができますこの方法!

読んでくれてありがとう!
--------------------- 

おすすめ

転載: www.cnblogs.com/hyhy904/p/10954426.html