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

  

// 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 指定map的key

element  指定map的value

-->

<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();

}

最新文章

  1. 解决 504 Gateway Time-out和502 Bad Gateway(nginx)
  2. webpack +vue开发(2)
  3. C++ 多态的实现原理与内存模型
  4. Session赋值(备注)
  5. M1-S70卡片介绍
  6. Android:设计之屏幕适配
  7. Sqlserver 安装
  8. CentOS搭建jdk
  9. mac os 安装 python 环境
  10. Python_生成随机百分比的方法
  11. Effective Java 第三版——65. 接口优于反射
  12. docker使用web界面管理Registry
  13. 设计Popup Window
  14. 删除 Win10 更新后的 Z 盘符(已验证)
  15. Spring MVC 入门笔记
  16. VBA笔记(一)——基础配置
  17. 【Android实战】Android中处理崩溃异常
  18. 【ZZ】大型数据库应用解决方案总结 | 菜鸟教程
  19. prim /kruskal 最小生成树
  20. excel中多表汇总

热门文章

  1. Golang - 面对&quot;对象&quot;
  2. BZOJ 3329 Xorequ (数位DP、矩阵乘法)
  3. ACDream - Dynamic Inversions II
  4. POJ 2007
  5. swift初始化
  6. 2014年辛星解读css第六节
  7. 寻找不到iframe元素
  8. oc2---类
  9. docker overlay网络实现
  10. 使用ssh和putty操控远程的linux server