1預設的對映配置器能自動轉換以下幾種型別:public
class sourse
2 910
public
class dest
11
1819
public
class inner
20
2425 sourse src = new sourse
26 ,
34 e = "
test
"35 };
3640
41 assert.areequal(dst.b.tostring(), src.b);
42 assert.areequal(dst.c.c1, 0l);
43 assert.areequal(dst.c.c2, src.c.c2);
44 assert.isnull(dst.e);
任何型別到string型別使用tostring()方法;
可以使用system.convert類轉換的原始型別;
可空型別、列舉型別、各種集合型別、結構與類;
複雜的巢狀型別採用遞迴方式轉換;
如果預設的轉換滿足不了需求,預設的對映配置器還允許指定命名約定,自定義建構函式,自定義轉換器,忽略成員等。
支援的方法
描述
convertusing
為指定的成員提供自定義的轉換邏輯
convertgeneric
為指定的泛型型別成員提供自定義的轉換邏輯
constructby
為目標物件使用指定的建構函式替代預設建構函式
nullsubstitution
當源物件中指定的成員在為null時,給目標物件的成員賦值
ignoremembers
忽略指定成員的對映
postprocess
在對映完成後執行指定的方法
shallowmap
指定的成員採用淺拷貝方式對映
deepmap
指定的成員採用深拷貝方式對映
matchmembers
如果成員名稱的對映不採用精確匹配,可以指定具體的對映邏輯
選擇幾個方法簡單示例如下:
1public
class sourse
2 910
public
class dest
11
1819
public
class inner
20
2425
public
class inner2
26
3032
33new defaultmapconfig()
34 .ignoremembers(new
string )
35 .nullsubstitution((value) => -1m)
36 .convertusing(value => new inner2 )
37 .postprocess((value, state) => )
38 );
4041 assert.isnull(dst.a);
42 assert.areequal(dst.b, -1m);
43 assert.areequal(dst.d.d22, src.d.d2);
44 assert.areequal(dst.f, "
nothing
");
1public
2
1011
12
30else
31
34 }
35 )
36 }
37 )
38 .toarray();
39 }
4041
public
string getconfigurationname()
42
4546
47
5051
public staticconvertersmanager getstaticconvertersmanager()
52
55 }
hibernate實體對映
1.寫注釋 格式為 屬性,表示本類的?關係 例如 2.寫模板 多對一 一對多 多對多 注 多對多中的table 表示填入中間 的名稱 3.填空 name屬性 屬性名 注釋中的第1問號 class屬性 關聯的實體型別 注釋中的第2個問號 column屬性 多對一中的 一般可以寫成屬性名加id字尾,如屬...
5 1 2 對映實體 Entity
標註 entity 注釋的類,表示該類是乙個可持久化的實體。當在容器中時,伺服器將會首先載入所有標註了 entity 注釋的實體類。例如,contact 類標註成實體後,如以下所示。entity public class contacteo entity 注釋的定義的屬性如下。target type...
7 3 5 3 對映子類實體
下面來看一下各個子類的實體對映配置,子類實體中的屬性將自動對映到改子類所對應的表中。實體 regularemployeeeo 的 如下所示。regularemployeeeo實體 entity table name tb regular employee public class regularem...