zoukankan      html  css  js  c++  java
  • hibernate简单集合映射和获取

    简单集合映射(可以直接获取)

      

    // javabean设计

    public class User {

     

    private int userId;

    private String userName;

    // 一个用户,对应的多个地址

    private Set<String> address;

    private List<String> addressList = new ArrayList<String>();

    //private String[] addressArray; // 映射方式和list一样     <array name=""></array>

    private Map<String,String> addressMap = new HashMap<String, String>();

     

    }

    <hibernate-mapping package="cn.itcast.a_collection">

     <class name="User" table="t_user">

    <id name="userId" column="id">

    <generator class="native"></generator>

    </id>

    <property name="userName"></property>

     <!--

    set集合属性的映射

    name 指定要映射的set集合的属性

    table 集合属性要映射到的表

    key  指定集合表(t_address)的外键字段

    element 指定集合表的其他字段

    type 元素类型,一定要指定

     -->

     <set name="address" table="t_address">

      <key column="uid"></key>

      <element column="address" type="string"></element>

     </set>

     

     <!--

      list集合映射

      list-index  指定的是排序列的名称 (因为要保证list集合的有序)

      -->

      <list name="addressList" table="t_addressList">

         <key column="uid"></key>

         <list-index column="idx"></list-index>

         <element column="address" type="string"></element>

      </list>

      

      <!--

       map集合的映射

       key  指定外键字段

       map-key 指定mapkey

       element  指定mapvalue

       -->

      <map name="addressMap" table="t_addressMap">

       <key column="uid"></key>

       <map-key column="shortName" type="string" ></map-key>

       <element column="address" type="string" ></element>

      </map>

      

     

    </class>

     

     

    </hibernate-mapping>

     

     

    // 保存set

    @Test

    public void testSaveSet() throws Exception {

    Session session = sf.openSession();

    session.beginTransaction();

     

    //-- 保存

    Set<String> addressSet = new HashSet<String>();

    addressSet.add("广州");

    addressSet.add("深圳");

    // 用户对象

    User user = new User();

    user.setUserName("Jack");

    user.setAddress(addressSet);

     

    // 保存

    session.save(user);

     

    session.getTransaction().commit();

    session.close();

    }

     

    // 保存list/map

    @Test

    public void testSaveList() throws Exception {

    Session session = sf.openSession();

    session.beginTransaction();

    User user = new User();

    user.setUserName("Tom");

    // // 用户对象  --  list

    // user.getAddressList().add("广州");

    // user.getAddressList().add("深圳");

    // // 保存

    // session.save(user);

     

    // 用户对象  --  Map

    user.getAddressMap().put("A0001", "广州");

    user.getAddressMap().put("A0002", "深圳");

     // 保存

    session.save(user);

     session.getTransaction().commit();

    session.close();

    }

  • 相关阅读:
    android中BuildConfig.DEBUG的使用
    Http 状态码完整说明
    Java 线程池
    Gson简要使用笔记
    Android Loader详解四:回调及完整例子
    Android Loader详解三:重启与回调
    Android Loader详解二:使用加载器
    Android Loader详解一:概述
    Metrics介绍和Spring的集成(转)
    Web.xml配置详解之context-param(转)
  • 原文地址:https://www.cnblogs.com/hello-liyb/p/7967950.html
Copyright © 2011-2022 走看看