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

Hibernate使用Map實現多對多映射

系統 1896 0
數據庫結構:
create ? table ?team2(id? varchar ( 50 )? primary ? key ,name? varchar ( 50 ));
create ? table ?member2(id? varchar ( 50 )? primary ? key ,name? varchar ( 50 ),age? varchar ( 50 ));
create ? table ?memberAtTeams2(member? varchar ( 50 ),team? varchar ( 50 ),teamRoles? varchar ( 50 ));

實體對象:
package ?mapmanytomany;

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

public ? class ?Team? ... {
???
private ?String?id;
???
private ?String?name;
???
private ?Map?members = new ?HashMap();
public ?String?getId()? ... {
????
return ?id;
}

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



public ?Map?getMembers()? ... {
????
return ?members;
}

public ? void ?setMembers(Map?members)? ... {
????
this .members? = ?members;
}

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

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

}



package ?mapmanytomany;

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

public ? class ?Member? ... {
???
private ?String?id;
???
private ?String?name;
???
private ?String?teamRole;
???
private ?Map?team = new ?HashMap();
???
private ?String?age;
public ?String?getAge()? ... {
????
return ?age;
}

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


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

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



public ?String?getTeamRole()? ... {
????
return ?teamRole;
}

public ? void ?setTeamRole(String?teamRole)? ... {
????
this .teamRole? = ?teamRole;
}

public ?String?getId()? ... {
????
return ?id;
}

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

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

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




}

?
映射:

?

<? 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? package ="mapmanytomany" >
????
< class? name ="Team" ?table ="team2" >
???????
< id? name ="id" ?column ="id" >
?????????
< generator? class ="uuid.hex" ></ generator >
???????
</ id >
???????
< property? name ="name" ?column ="name" />
???????
< map? name ="members" ?table ="memberAtTeams2" ?cascade ="save-update" >
??????????
< key? column ="team" />
??????????
< index? type ="string" ?column ="teamRoles" />
??????????
< many-to-many? class ="Member" ?column ="member" ></ many-to-many >
???????
</ map >
????
</ class >
</ hibernate-mapping >


<? 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? package ="mapmanytomany" >
???
????
??????
< class? name ="Member" ?table ="member2" >
???????
< id? name ="id" ?column ="id" >
?????????
< generator? class ="uuid.hex" ></ generator >
???????
</ id >
???????
< property? name ="name" ?column ="name" />
???????
< property? name ="age" ?column ="age" />
???????
< map? name ="team" ?table ="memberAtTeams2" ?inverse ="true" >
??????????
< key? column ="member" />
??????????
< index? type ="string" ?column ="teamRoles" ></ index >
??????????
< many-to-many? class ="Team" ?column ="team" ></ many-to-many >
???????
</ map >
????
</ class >
</ hibernate-mapping >


測試代碼:

?

???? public ? static ? void ?main(String[]?args)? ... {
????????Configuration?cfg
= new ?Configuration();
????????cfg.configure();
????????SessionFactory?sf
= cfg.buildSessionFactory();
????????Session?session
= sf.openSession();
????????Transaction?t
= session.beginTransaction();

????????Team?team1
= new ?Team();
????????team1.setName(
" 足球隊-01 " );
????????Team?team2
= new ?Team();
????????team2.setName(
" 足球隊-02 " );
????????
????????Member?m1
= new ?Member();
????????m1.setName(
" 張三 " );
????????m1.setAge(
" 11 " );
????????m1.getTeam().put(
" 主力守門員 " ,?team1);
????????m1.getTeam().put(
" 候選守門員 " ,?team2);
????????
????????Member?m2
= new ?Member();
????????m2.setName(
" 張四 " );
????????m2.setAge(
" 22 " );
????????m2.getTeam().put(
" 主力中后衛 " ,?team1);
????????m2.getTeam().put(
" 候選中后衛 " ,?team2);
????????
????????team1.getMembers().put(
" 主力守門員 " ,?m1);
????????team1.getMembers().put(
" 主力中后衛 " ,?m2);
????????team2.getMembers().put(
" 候選守門員 " ,?m1);
????????team2.getMembers().put(
" 候選中后衛 " ,?m2);

????????????session.save(team1);
????????????session.save(team2);
????????t.commit();
????????System.out.println(
" success

Hibernate使用Map實現多對多映射


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 南岸区| 琼海市| 喀喇| 芜湖市| 万州区| 栾城县| 布尔津县| 勃利县| 乌兰浩特市| 德化县| 安康市| 南昌市| 龙门县| 丘北县| 扶绥县| 巴马| 衡阳县| 林口县| 马关县| 谷城县| 柯坪县| 武功县| 扎鲁特旗| 奈曼旗| 怀远县| 垣曲县| 元阳县| 门源| 金山区| 克什克腾旗| 璧山县| 横山县| 得荣县| 长沙县| 广平县| 建阳市| 昌平区| 西畴县| 巫溪县| 花垣县| 常德市|