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

Hibernate集合映射之List

系統 1827 0

使用List和Map有很多共性,比如說不能再1方設置inverse="true"

不同的是,list可以保留元素的順序,這個使通過一個idx字段來實現的,比如說Team和Student的1對多關系,我們給team加入學生的時候,需要記錄加入的順序,這時候我們可以使用list方式,并在student表中新增加一個idx字段(但在Student實體類中不定義idx屬性)?

數據庫結構:

?

create ? table ?teamList?(id? varchar ( 32 ),teamname? varchar ( 32 ));
create ? table ?studentList?(id? varchar ( 32 ),cardid? varchar ( 32 ),name? varchar ( 32 ),age? int ,description? varchar ( 32 ),?team_id? varchar ( 32 ),idx? int );

?

POJO

?

package ?Collection.List;

import ?java.util.ArrayList;
import ?java.util.List;
import ?java.util.Map;

public ? class ?Team? ... {
???
private ?String?id;
???
private ?String?teamname;
???
private ?List?students = new ?ArrayList();
public ?String?getId()? ... {
????
return ?id;
}

public ? void ?setId(String?id)? ... {
????
this .id? = ?id;
}

public ?String?getTeamname()? ... {
????
return ?teamname;
}

public ? void ?setTeamname(String?teamname)? ... {
????
this .teamname? = ?teamname;
}

public ?List?getStudents()? ... {
????
return ?students;
}

public ? void ?setStudents(List?students)? ... {
????
this .students? = ?students;
}


}




package ?Collection.List;

public ? class ?Student? ... {
??
private ?String?id;
??
private ?String?name;
??
private ?String?description;
??
private ? int ?age;
??
private ?String?cardid;
??
private ?Team?team;
public ?String?getId()? ... {
????
return ?id;
}

public ? void ?setId(String?id)? ... {
????
this .id? = ?id;
}

public ?String?getName()? ... {
????
return ?name;
}

public ? void ?setName(String?name)? ... {
????
this .name? = ?name;
}

public ?String?getDescription()? ... {
????
return ?description;
}

public ? void ?setDescription(String?description)? ... {
????
this .description? = ?description;
}

public ? int ?getAge()? ... {
????
return ?age;
}

public ? void ?setAge( int ?age)? ... {
????
this .age? = ?age;
}

public ?String?getCardid()? ... {
????
return ?cardid;
}

public ? void ?setCardid(String?cardid)? ... {
????
this .cardid? = ?cardid;
}

public ?Team?getTeam()? ... {
????
return ?team;
}

public ? void ?setTeam(Team?team)? ... {
????
this .team? = ?team;
}

}

?

Team.hbm.xml

?

<? xml?version="1.0"?encoding="utf-8" ?>
<! DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- ?
????Mapping?file?autogenerated?by?MyEclipse?-?Hibernate?Tools
-->
< hibernate-mapping >
< class? name ="Collection.List.Team" ?table ="teamList" ? >
????
< id? name ="id" ?unsaved-value ="null" >
??????
< generator? class ="uuid.hex" ></ generator >
????
</ id >
????
< property? name ="teamname" ?type ="string" ?column ="teamname" ></ property >
????
<!-- 由于index需要team來維護,所以,使用list表示1對多時候,不能再1方設置inverse="true" -->
????
< list? name ="students" ?table ="studentList" ?cascade ="all" ? >
??????
< key? column ="team_id" ></ key >
??????
<!-- ?index代表key,element(或one-to-many)代表value -->
??????
<!-- ?這里用cardid作為key,具體的student實例作為value? -->
??????
< index? column ="idx" ?type ="int" ></ index >
??????
< one-to-many? class ="Collection.List.Student" />
????
</ list >
</ class >

</ hibernate-mapping >

?

Student.hbm.xml

?

<? xml?version="1.0"?encoding="utf-8" ?>
<! DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- ?
????Mapping?file?autogenerated?by?MyEclipse?-?Hibernate?Tools
-->
< hibernate-mapping >
< class? name ="Collection.List.Student" ?table ="studentList" ? >
????
< id? name ="id" ?unsaved-value ="null" >
??????
< generator? class ="uuid.hex" ></ generator >
????
</ id >
????
< property? name ="cardid" ?type ="string" ?column ="cardid" ></ property >
????
< property? name ="name" ?type ="string" ?column ="name" ></ property >
????
< property? name ="age" ?type ="int" ?column ="age" ></ property >
????
< property? name ="description" ?type ="string" ?column ="description" ></ property > ?
????
< many-to-one? name ="team" ?
?????????????????column
="team_id"
?????????????????class
="Collection.List.Team" ?
?????????????????cascade
="none" ?
?????????????????fetch
="join" >
????
</ many-to-one >
</ class >

</ hibernate-mapping >

?

Hibernate.cfg.xml

?

<? xml?version='1.0'?encoding='UTF-8' ?>
<! DOCTYPE?hibernate-configuration?PUBLIC
??????????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"
??????????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>

<!-- ?Generated?by?MyEclipse?Hibernate?Tools.??????????????????? -->
< hibernate-configuration >

< session-factory >
????
< property? name ="connection.username" > root </ property >
????
< property? name ="connection.url" >
????????jdbc:mysql://localhost:3306/schoolproject?characterEncoding=gb2312
&amp; useUnicode=true
????
</ property >
????
< property? name ="dialect" >
????????org.hibernate.dialect.MySQLDialect
????
</ property >
????
< property? name ="myeclipse.connection.profile" > mysql </ property >
????
< property&n

Hibernate集合映射之List


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 人人爱人人做 | 国产成a人片在线观看视频99 | 国产精品乱码一区二区三区 | 中文字幕无线码中文字幕免费 | 夜夜狠操 | 日韩欧美在线观看成人 | 亚洲精品一区二区在线观看 | 国产精品福利在线观看 | 日本欧美一区二区三区不卡视频 | 国产亚洲精品在天天在线麻豆 | 久久九色综合九色99伊人 | 在线中文字幕观看 | 亚洲经典在线中文字幕 | 奇米影视播放器 | 亚洲精品 欧美 | 欧美日本一道免费一区三区 | 日日摸日日碰夜夜爽久久 | 欧美午夜精品一区二区三区 | a免费网站 | 在线视频 二区 | 99最新网址 | 中文字幕一区二区在线观看 | 国内精品久久久久久中文字幕 | 一级毛片q片| 人人鲁免费播放视频人人香蕉 | 久久久久久综合 | 国产欧美亚洲精品第二区首页 | 日本成人a视频 | 久久免费精品一区二区 | 亚洲精品久久激情影院 | 国产亚洲片 | 亚洲在线播放视频 | 国产福利专区精品视频 | 伊人久久婷婷丁香六月综合基地 | 91亚洲国产系列精品第56页 | 天天干天天天天 | 狠狠色噜噜狠狠狠狠888奇米 | 九九视频免费精品视频免费 | 91久久国产精品视频 | 久久天天躁狠狠躁夜夜呲 | 女人一级一级毛片 |