日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Hibernate集合映射之Map-----element映射實(shí)體類

系統(tǒng) 1838 0

在使用map集合配置實(shí)體類型時(shí)候,其key為某一個(gè)字段,而value是這一個(gè)實(shí)體的實(shí)例

比如Team和Student一對(duì)多的關(guān)系,Team中有一個(gè)ma存放student,這個(gè)map的key為student中的cardid,而value是具體的一個(gè)student實(shí)例

需要注意的是,這樣使用時(shí)候,team端需要維護(hù)cardid,所以,不能再像set那樣可以在1端設(shè)置inverse="true"來(lái)提高性能

數(shù)據(jù)庫(kù)結(jié)構(gòu):

?

create ? table ?teamMapC?(id? varchar ( 32 ),teamname? varchar ( 32 ));
create ? table ?studentMapC?(id? varchar ( 32 ),cardid? varchar ( 32 ),name? varchar ( 32 ),age? int ,description? varchar ( 32 ),?team_id? varchar ( 32 ));

?

實(shí)體類:

?

package ?Collection.Map.Complex;

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;
}

}




package ?Collection.Map.Complex;

import ?java.util.HashMap;
import ?java.util.Map;

public ? class ?Team? ... {
???
private ?String?id;
???
private ?String?teamname;
???
private ?Map?students = new ?HashMap();
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 ?Map?getStudents()? ... {
????
return ?students;
}

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

}

?

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? name ="connection.password" > 1234 </ property >
????
< property? name ="connection.driver_class" >
????????com.mysql.jdbc.Driver
????
</ property >
????
< property? name ="hibernate.dialect" >
????????org.hibernate.dialect.MySQLDialect
????
</ property >
????
< property? name ="hibernate.show_sql" > true </ property >
????
< property? name ="current_session_context_class" > thread </ property >
????
< property? name ="jdbc.batch_size" > 15 </ property >
????
< mapping? resource ="Collection/Map/Complex/Student.hbm.xml" ? />
????
< mapping? resource ="Collection/Map/Complex/Team.hbm.xml" ? />




</ session-factory >

</ hibernate-configuration >

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.Map.Complex.Team" ?table ="teamMapC" ? >
????
< id? name ="id" ?unsaved-value ="null" >
??????
< generator? class ="uuid.hex" ></ generator >
????
</ id >
????
< property? name ="teamname" ?type ="string" ?column ="teamname" ></ property >
????
<!-- 由于cardid需要team來(lái)維護(hù),所以,使用map表示1對(duì)多時(shí)候,不能再1方設(shè)置inverse="true" -->
????
< map? name ="students" ?table ="studentMap" ?cascade ="all" ? >
??????
< key? column ="team_id" ></ key >
??????
<!-- ?index代表key,element(或one-to-many)代表value -->
??????
<!-- ?這里用cardid作為key,具體的student實(shí)例作為value? -->
??????
< index? column ="cardid" ?type ="string" ></ index >
??????
< one-to-many? class ="Collection.Map.Complex.Student" />
????
</ map >
</ 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.Map.Complex.Student" ?table ="studentMapC" ? >
????
< id? name ="id" ?unsaved-value ="null" >
??????
< generator? class ="uuid.hex" ></ generator >
????
</ id >

Hibernate集合映射之Map-----element映射實(shí)體類型值


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 西昌市| 益阳市| 岳普湖县| 曲松县| 庄河市| 驻马店市| 邓州市| 天峻县| 石柱| 浪卡子县| 民权县| 嘉定区| 镶黄旗| 合水县| 昌邑市| 大洼县| 阳原县| 驻马店市| 叶城县| 竹山县| 崇左市| 保德县| 三亚市| 永胜县| 桦甸市| 宜都市| 呼图壁县| 陵水| 隆德县| 军事| 中西区| 上犹县| 阳新县| 肇东市| 建湖县| 苏尼特右旗| 巴彦县| 阳泉市| 庆城县| 阜宁县| 和静县|