`
esffor
  • 浏览: 1350289 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate Map映射的composite-index案例

阅读更多
 数据库结构
CREATE TABLE `team3` (
  `id` 
varchar(50NOT NULL,
  `name` 
varchar(50default NULL,
  
PRIMARY KEY  (`id`)
) ENGINE
=InnoDB DEFAULT CHARSET=gb2312;

CREATE TABLE `member3` (
  `id` 
varchar(50NOT NULL,
  `name` 
varchar(50default NULL,
  `age` 
varchar(50default NULL,
  `role` 
varchar(50default NULL,
  `scene` 
varchar(50default NULL,
  `team` 
varchar(50default NULL,
  `bestChoice` 
varchar(50default NULL,
  
PRIMARY KEY  (`id`)
) ENGINE
=InnoDB DEFAULT CHARSET=gb2312;


实体类:

 

package mapcompoistindex;

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

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

public class Member ...{
   
private String id;
   
private String name;
   
private Position postition;
   
private Team team;
   
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 Position getPostition() ...{
    
return postition;
}

public void setPostition(Position postition) ...{
    
this.postition = postition;
}

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

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

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

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





}


package mapcompoistindex;

public class Position ...{
  
private String role;
  
private String scene;
  
private Member bestChoice;
public Member getBestChoice() ...{
    
return bestChoice;
}

public void setBestChoice(Member bestChoice) ...{
    
this.bestChoice = bestChoice;
}

public String getRole() ...{
    
return role;
}

public void setRole(String role) ...{
    
this.role = role;
}

public String getScene() ...{
    
return scene;
}

public void setScene(String scene) ...{
    
this.scene = scene;
}

}


映射文件:
<?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="mapcompoistindex">
    
<class name="Team" table="team3">
       
<id name="id" column="id">
         
<generator class="uuid.hex"></generator>
       
</id>
       
<property name="name" column="name"/>
       
<map name="members" inverse="false" cascade="save-update">
          
<key column="team"/>
           
<composite-index class="Position">
             
<key-property name="role"></key-property>
             
<key-property name="scene"></key-property>
             
<key-many-to-one name="bestChoice" class="Member"></key-many-to-one>
           
</composite-index>
           
<one-to-many class="Member"/>
       
</map>
    
</class>
</hibernate-mapping>


<?xml version="1.0" encoding="utf-8"?>
分享到:
评论

相关推荐

    Hibernate中文API大全

    &lt;composite-map-key&gt;元素允许你映射一个组件类作为一个Map的key,前提是你必须正确的在这个类中重写了hashCode() 和 equals()方法。 8.4. 组件作为联合标识符(Components as composite identifiers) 你可以使用一...

    hibernate3.2中文文档(chm格式)

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) ...

    HibernateAPI中文版.chm

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) ...

    Hibernate3.1_学习源码

    06 06Hibernate_Collection : Hibernate的容器映射技术,包括list、set和map等。用法大体一致,数据库中的两张表,在实体层设计和配置文件都只有一个 其中数据库用到级联删除。配置文件分别用list、set和map元素...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) ...

    Hibernate+中文文档

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) ...

    hibernate总结

    Hibernate映射一对一(通过主键实现一对一的关系) //主PO对象(一个员工对个应一个身份证) public class Employees implements Serializable{ private Integer empid; private String name; private String sex...

    最全Hibernate 参考文档

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (optional) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 组件(component), 动态...

    Hibernate中文详细学习文档

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) ...

    Hibernate 中文 html 帮助文档

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) 5.1.13. ...

    hibernate 体系结构与配置 参考文档(html)

    composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) 5.1.13...

    hibernate 教程

    composite-id 联合ID 5.1.6. 识别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. 时间戳(timestamp )(可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 ...

    Hibernate教程

    6.1.5. composite-id 6.1.6. 鉴别器(discriminator) 6.1.7. 版本(version)(可选) 6.1.8. timestamp (optional) 6.1.9. property 6.1.10. 多对一(many-to-one) 6.1.11. 一对一 6.1.12. 组件(component),...

    Hibernate3+中文参考文档

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (optional) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 组件(component), 动态...

    Hibernate3的帮助文档

    6.1.5. composite-id 6.1.6. 鉴别器(discriminator) 6.1.7. 版本(version)(可选) 6.1.8. timestamp (optional) 6.1.9. property 6.1.10. 多对一(many-to-one) 6.1.11. 一对一 6.1.12. 组件(component),...

    hibernate3.04中文文档.chm

    6.1.5. composite-id 6.1.6. 鉴别器(discriminator) 6.1.7. 版本(version)(可选) 6.1.8. timestamp (optional) 6.1.9. property 6.1.10. 多对一(many-to-one) 6.1.11. 一对一 6.1.12. 组件(component),...

    hibernate 框架详解

    composite-id 6.1.6. 鉴别器(discriminator) 6.1.7. 版本(version)(可选) 6.1.8. timestamp (optional) 6.1.9. property 6.1.10. 多对一(many-to-one) 6.1.11. 一对一 6.1.12. 组件(component), 动态...

    hibernate

    composite-id 联合ID 5.1.6. 识别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. 时间戳(timestamp )(可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 ...

    Hibernate注释大全收藏

    Hibernate注释大全收藏 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } } @Entity ...

    Hibernate参考文档

    5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) 5.1.13. ...

Global site tag (gtag.js) - Google Analytics