亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

hibernate映射二

系統 1631 0

<!-- [if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]--><!-- [if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="1030"/> </xml><![endif]--><!-- [if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> </o:shapelayout></xml><![endif]-->

繼承映射

Animal

Id

name

Sex

Weight

Height

Type

1

小豬

True

100

?

P

2

小鳥

False

?

20

B

Extends.hbm.xml 如下:

< hibernate-mapping package = "com.test.hibernate" >

??? < class name = "Animal" table = "animal" >

?????? < id name = "id" >

?????????? < generator class = "native" ></ generator >

?????? </ id >

??? ??? < property name = "name" ></ property >

?????? < property name = "sex" ></ property >

?????? < discriminator column = "type" type = "string" />

?????? < subclass name = "Pig" discriminator-value = "P" >

?????????? < property name = "weight" ></ property >

?????? </ subclass >

?????? < subclass name = "Bird" discriminator-value = "B" >

?????????? < property name = "height" ></ property >

?????? </ subclass >

??? </ class >

</ hibernate-mapping >

?

Animal animal =(Animal)session.load(animal.Class, 1);

?????? if (animal instanceof Pig) {

?????????? System. out .println( "Pig" );

??????????

?????? }

?

當用 Pig 去加載時是可以的,用父類 Animal 去加載也可以,但是 load 默認是 lazy 加載,用 Animal 加載的是 animal 代理類不是真正的 Pig

如果你把 class 中的 lazy=”false”, 則用 Animal 加載的是是真正的 Pig 類(多態)

get() 方法和 sql 查詢支持多態查詢,返回的是真正的 Pig

Sql 的“ from java.lang.Object ”是查到所有的實體類對象;

2 每個類一張映射表

animal

Id

Name

sex

1

小豬

True

2

小鳥

false

? pig

pid

weight

1

100

bird

bid

height

1

10

Extends.hbm.xml 如下:

< hibernate-mapping package = "com.test.hibernate" >

??? < class name = "Animal" table = "animal" >

?????? < id name = "id" >

?????????? < generator class = "native" ></ generator >

?????? </ id >

?????? < property name = "name" ></ property >

?????? < property name = "sex" ></ property >

?????? <join- subclass name = "Pig" table=”pig” >

?????????? <key column=”pid” />

?????????? < property name = "weight" ></ property >

?????? </ join- subclass >

?????? < join- subclass name = "Bird" table=”bird” >

?????????? <key column=”bid” />

?????????? < property name = "height" ></ property >

?????? </ join- subclass >

??? </ class >

這種對象模型不變而存儲模型的方法變了;缺點是建表多,效率低;

如果 User 對象的一些屬性也是其他對象的屬性(即他們有許多共同的屬性),因此將共同的屬性提取成為一個公用的類(此類包含了共同的屬性)如:

public class User {

??? private int id ;

??? private Contact conta ct ;

?

}

//set,get 方法略

public class Contact {

private String name ;

private boolean sex ;

}

//set,get 方法略

User.hbm.xml 如下:

< hibernate-mapping package = "com.test.hibernate" >

??? < class name = "User" table = "user" >

?????? < id name = "id" >

?????????? < generator class = "native" ></ generator >

?????? </ id >

?????? <component name= "contact">

?????????? < property name = "name" ></ property >

?????? ??? < property name = "sex" ></ property >

?????? </component>

??? </ class >

對關系模型沒有任何影響,這樣適合復用;

復合主鍵映射

通常將復合主鍵相關的屬性放到一個單獨的類中,這個是有約束的:

l ?????? 必須實現序列化接口

l ?????? 必須寫 hashCode() equals()

public class User {

??? private int age ;

??? private PK composite ;// 復合主鍵

?

}

//set,get 方法略

public class PK {

private String name ;

private boolean sex ;

}

//set,get 方法略

User.hbm.xml 如下:

< hibernate-mapping package = "com.test.hibernate" >

??? < class name = "User" table = "user" >

?????? <composite-id name= " composite ">

?????? ??? <key- property name = "name" ></key- property >

?????? ??? <key- property name = "sex" ></key- property >

</composite-id>

< property name = "name" ></ property >

?????? ??? </ class >

集合的映射

t_collection_mapping

id

name

1

xxx

t_set_values

set_id

set_value

1

A

1

b

t_list_values

list_id

list_value

list_index

1

c

0

1

d

hibernate映射二


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人精品一区二区不卡视频 | 日韩欧美一区二区精品久久 | 日本一区二区三区免费高清在线 | 成人嫩草研究院永久网址 | 国产成人精品午夜二三区 | 我就色色综合网 | 日韩精品区 | 亚洲综合五月 | 久久精品一区二区三区四区 | 成人免费动作大片黄在线 | 九九影院理论片在线观看 | 久久99热精品免费观看 | 国产青青久久 | 色啦啦在线观看 | 夜夜夜爽爽爽久久久 | 日日操夜夜操免费视频 | 国产亚洲精品美女 | 亚州一二区| 国产毛片一级国语版 | 国产在线精彩视频二区 | 天天草天天操 | 国产精品视频九九九 | 97最新网址| 久热中文字幕在线 | 精品一级毛片 | 五月综合在线 | 草草影院1 | 久久亚洲精品一区二区三区浴池 | 2022色婷婷综合久久久 | 青青青青青国产免费观看 | 四虎国产精品永久地址49 | 99久久精品国产自免费 | 在线观看视频一区 | 神马我我不卡伦影视 | 国产情侣普通话刺激对白 | 国产成人精品亚洲日本在线观看 | 中文字幕在线一区二区在线 | 狠狠综合久久久久尤物丿 | 黄色网址在线免费 | 中文字幕亚洲欧美日韩高清 | 久久好色|