日期:2014-05-16  浏览次数:20496 次

Hibernate的集合映射(List、Set、Map、Array、Bag、idbag)
        集合属性大致有两种:第一种是单纯的集合属性,如像 List、Set 或数组等集合属性;另一种是Map结构的集合属性,每个属性值都有对应的Key映射。

         集合映射的元素大致有如下几种:

         List: 用于映射 List 集合属性
         Set: 用于映射 Set 集合属性
         Map: 用于映射 Map 集合性
         Array: 用于映射数组集合属性
         Bag: 用于映射无序集合
         idbag: 用于映射无序集合,但为集合增加逻辑次序


         1. List 集合属性
         List是有序集合,因此持久化到数据库时也必须增加一列来表示集合元素的次序。看下面的持久化类,该 News 类有个集合属性:schools ,该属性对应学校。而集合属性只能以接口声明,因此下面代码中,schools 的类型能是List ,不能是ArrayList ,但该集合属性必须使用实现类完成初始化。





Java代码
package cn.janwer;     
    
import java.io.Serializable;     
import java.util.ArrayList;     
import java.util.List;     
     
public class News implements Serializable {     
    int id;     
    String title;     
    String content;     
    private List schools =  new  ArrayList();     
         
    public String getContent() {     
          return  content;     
    }     
      
    public void  setContent(String content) {     
          this .content = content;     
     }     
        
    public int  getId() {     
         return  id;     
     }     
       
    public void  setId( int  id) {     
         this .id = id;     
     }     
        
    public String getTitle() {     
         return  title;     
     }     
        
    public void  setTitle(String title) {     
         this .title = title;     
    }     
         
    public List getSchools() {     
         return  schools;     
    }     
      
     public void&nbs