首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate会合映射之List

2012-11-11 
Hibernate集合映射之List使用List和Map有很多共性,比如说不能再1方设置inversetrue不同的是,list可以保

Hibernate集合映射之List

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

不同的是,list可以保留元素的顺序,这个使通过一个idx字段来实现的,比如说Team和Student的1对多关系,我们给team加入学生的时候,需要记录加入的顺序,这时候我们可以使用list方式,并在student表中新增加一个idx字段(但在Student实体类中不定义idx属性)?

数据库结构:

?

Hibernate会合映射之Listcreate?table?teamList?(id?varchar(32),teamname?varchar(32));
Hibernate会合映射之Listcreate?table?studentList?(id?varchar(32),cardid?varchar(32),name?varchar(32),age?int,description?varchar(32),?team_id?varchar(32),idx?int);

?

POJO

?

Hibernate会合映射之Listpackage?Collection.List;
Hibernate会合映射之List
Hibernate会合映射之Listimport?java.util.ArrayList;
Hibernate会合映射之Listimport?java.util.List;
Hibernate会合映射之Listimport?java.util.Map;
Hibernate会合映射之List
Hibernate会合映射之ListHibernate会合映射之Listpublic?class?Team?...{
Hibernate会合映射之List???private?String?id;
Hibernate会合映射之List???private?String?teamname;
Hibernate会合映射之List???private?List?students=new?ArrayList();
Hibernate会合映射之ListHibernate会合映射之Listpublic?String?getId()?...{
Hibernate会合映射之List????return?id;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setId(String?id)?...{
Hibernate会合映射之List????this.id?=?id;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?String?getTeamname()?...{
Hibernate会合映射之List????return?teamname;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setTeamname(String?teamname)?...{
Hibernate会合映射之List????this.teamname?=?teamname;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?List?getStudents()?...{
Hibernate会合映射之List????return?students;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setStudents(List?students)?...{
Hibernate会合映射之List????this.students?=?students;
Hibernate会合映射之List}
Hibernate会合映射之List
Hibernate会合映射之List}
Hibernate会合映射之List
Hibernate会合映射之List
Hibernate会合映射之List
Hibernate会合映射之Listpackage?Collection.List;
Hibernate会合映射之List
Hibernate会合映射之ListHibernate会合映射之Listpublic?class?Student?...{
Hibernate会合映射之List??private?String?id;
Hibernate会合映射之List??private?String?name;
Hibernate会合映射之List??private?String?description;
Hibernate会合映射之List??private?int?age;
Hibernate会合映射之List??private?String?cardid;
Hibernate会合映射之List??private?Team?team;
Hibernate会合映射之ListHibernate会合映射之Listpublic?String?getId()?...{
Hibernate会合映射之List????return?id;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setId(String?id)?...{
Hibernate会合映射之List????this.id?=?id;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?String?getName()?...{
Hibernate会合映射之List????return?name;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setName(String?name)?...{
Hibernate会合映射之List????this.name?=?name;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?String?getDescription()?...{
Hibernate会合映射之List????return?description;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setDescription(String?description)?...{
Hibernate会合映射之List????this.description?=?description;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?int?getAge()?...{
Hibernate会合映射之List????return?age;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setAge(int?age)?...{
Hibernate会合映射之List????this.age?=?age;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?String?getCardid()?...{
Hibernate会合映射之List????return?cardid;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setCardid(String?cardid)?...{
Hibernate会合映射之List????this.cardid?=?cardid;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?Team?getTeam()?...{
Hibernate会合映射之List????return?team;
Hibernate会合映射之List}
Hibernate会合映射之ListHibernate会合映射之Listpublic?void?setTeam(Team?team)?...{
Hibernate会合映射之List????this.team?=?team;
Hibernate会合映射之List}
Hibernate会合映射之List}
Hibernate会合映射之List

?

Team.hbm.xml

?

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

?

Student.hbm.xml

?

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

?

Hibernate.cfg.xml

?

Hibernate会合映射之List<?xml?version='1.0'?encoding='UTF-8'?>
Hibernate会合映射之List<!DOCTYPE?hibernate-configuration?PUBLIC
Hibernate会合映射之List??????????"-//Hibernate/Hibernate?Configuration?DTD?3.0//EN"
Hibernate会合映射之List??????????"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
Hibernate会合映射之List
Hibernate会合映射之List<!--?Generated?by?MyEclipse?Hibernate?Tools.???????????????????-->
Hibernate会合映射之List<hibernate-configuration>
Hibernate会合映射之List
Hibernate会合映射之List<session-factory>
Hibernate会合映射之List????<property?name="connection.username">root</property>
Hibernate会合映射之List????<property?name="connection.url">
Hibernate会合映射之List????????jdbc:mysql://localhost:3306/schoolproject?characterEncoding=gb2312&amp;useUnicode=true
Hibernate会合映射之List????</property>
Hibernate会合映射之List????<property?name="dialect">
Hibernate会合映射之List????????org.hibernate.dialect.MySQLDialect
Hibernate会合映射之List????</property>
Hibernate会合映射之List????<property?name="myeclipse.connection.profile">mysql</property>
Hibernate会合映射之List????<property&n

热点排行