`

十三 array数组形式的映射

 
阅读更多
数组其实跟List的集合映射没有多大的差别,当然它不可以使用bag这个节点配置
先看实体部门
package vo.util.bean;

import java.util.Set;

/**
 * 部门类
 * @author Administrator
 *
 */
public class Department {
  private int id;
  private String name;
  private Employee[] ems;
  
public int getId() {
	return id;
}

public Employee[] getEms() {
	return ems;
}

public void setEms(Employee[] ems) {
	this.ems = ems;
}

public void setId(int id) {
	this.id = id;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
}

映射文件 
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping 
	package="vo.util.bean">

	<class name="Department">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>
		
		<array name="ems">
		<key column="depaer_id"/>
		<list-index column="ol"/>
		<one-to-many class="Employee"/>
		</array>
	</class>
	
</hibernate-mapping>

看<key column="depaer_id"/>
		<list-index column="ol"/>
		<one-to-many class="Employee"/>
		这在List中的配置是同理的 不用解释了吧

只是以<array>节点配置在里面而已

测试类
package vo.util.test;

import java.util.HashSet;
import java.util.Set;

import org.hibernate.Session;
import org.hibernate.Transaction;

import vo.util.HibernateUtil;
import vo.util.bean.Department;
import vo.util.bean.Employee;

public class OneToMany {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
         add();
        query(1);
	}
    static Department add(){
    	Session session = null;
    	Transaction tx = null;
    	try{
    		session =HibernateUtil.getSession();
    		tx = session.beginTransaction();
    		//…你的代码save,delete,update,get…
    		Department dpart=new Department();
    		dpart.setName("政企事业部");
    		
    		Employee em1=new Employee();
    		em1.setName("员工李小仙");
    		em1.setDerpartment(dpart);
    		
    		Employee em2=new Employee();
    		em2.setName("员工张小三");
    		em2.setDerpartment(dpart);
    		
    		Employee[] ems=new Employee[]{em1,em2};
    	    
    	    dpart.setEms(ems);
    		session.save(dpart);
    		session.save(em1);
    		session.save(em2);
    		
    		
    		tx.commit();
    		return dpart;
    	}finally{
    		if(session != null)session.close();
    	} 

    }
    
    static Department query(int id){
    	Session session=null;
    	
    	try{
    	   session=HibernateUtil.getSession();
    	   Department d=(Department)session.get(Department.class, id);
    	   Employee[] a=d.getEms();
    	   for(int i=0;i<a.length;i++){
    		   System.out.println(a[i]);
    	   }
    	   
    	  
    		return d;
    	}finally{
    		if(session != null)session.close();
    	} 

    }
}

好了 
end 完毕!

 

分享到:
评论

相关推荐

    d3-array:数组操作,排序,搜索,汇总等

    例如,您可以获取数组的连续切片(子集),使用谓词函数过滤数组,或者使用转换函数将数组映射到值的并行集合。 在查看d3-array提供的方法之前,请熟悉的强大。 JavaScript包含修改数组的突变方法: 从数组中删除...

    d3-array, array 操作,排序,搜索,汇总等.zip

    d3-array, array 操作,排序,搜索,汇总等 d3-arrayJavaScript中的数据通常由 array 表示,因... 一些常见的操作形式包括采用一个连续的切片( 子集),使用谓词函数过滤一个,并使用转换函数将一个 array 映射到一个

    ObjectMapper:用Swift编写的简单JSON对象映射

    嵌套对象(独立,数组或字典形式) 映射期间的自定义转换 结构支持 基础 为了支持映射,一个类或结构只是需要实现Mappable协议,其中包括以下功能: init? ( map : Map) mutating func mapping ( map : Map) ...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    kibana-object-format:一个Kibana插件,用于显示对象和对象数组

    从Kibana得到的是数据的json字符串表示形式和一个警告图标,指出“数组对象不被很好地支持”。 这样做的原因是,Elasticsearch不在乎或在索引映射中存储您的字段是对象数组。 索引映射是数据的扁平视图。 查看...

    es-modularized

    问题 原理(戴夫) 从反射中拆分普通API。...关于array / uint8-clamped vs array / uint8 / clamped怎么办弱映射vs弱/ map vs map / weak弱集合vs弱/ set vs set / weak怎么办 顶层 数组float32-array f

    Java 集合框架介绍.ppt

    “集合框架”...对于计算机科学数据结构课程中学到的许多抽象数据类型如映射(map)、集(set)、列表(list)、树(tree)、数组(array)、散列表(hashtable)和其它集合来说,该框架提供了一个方便的 API

    《你必须知道的495个C语言问题》

    1.29 为什么我的编译器不允许我定义大数组,如double array[256][256]? 15 命名空间 15 1.30 如何判断哪些标识符可以使用,哪些被保留了? 15 初始化 18 1.31 对于没有显式初始化的变量的初始值可以作怎样的...

    你必须知道的495个C语言问题

    6.12 既然数组引用会退化为指针,如果array是数组,那么array和&array又有什么区别呢? 6.13 如何声明一个数组的指针? 动态数组分配 6.14 如何在运行时设定数组的大小?怎样才能避免固定大小的数组? 6.15 ...

    cppbor:使用C ++ 17变体实现cbor

    在这种情况下,变体可以容纳int,float,单态(如Python中的None),unicode字符串,二进制数据,其他变体的数组或从字符串到变体的映射。 干净吗? API中只有(实际上)只有两个调用,并且它们都作用于。 他们...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2.选择排序 插入排序 快速排序 8-24 3.选择排序 插入排序 快速排序 8-24 4.顺序查找 二分查找 8-24 5.多维数组 数组作业评讲② 8-24 6.数组...

    (全)传智播客PHP就业班视频完整课程

    数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2.选择排序 插入排序 快速排序 8-24 3.选择排序 插入排序 快速排序 8-24 4.顺序查找 二分查找 8-24 5.多维数组 数组作业评讲② 8-24 6.数组...

    史上最全传智播客PHP就业班视频课,8月份视频

    数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2.选择排序 插入排序 快速排序 8-24 3.选择排序 插入排序 快速排序 8-24 4.顺序查找 二分查找 8-24 5.多维数组 数组作业评讲② 8-24 6.数组...

    AI学习知识点.xmind

    数组:Array 切片 列表推导式 浅拷贝和深拷贝 函数 lambda表达式 递归函数及递归优化 常用内置函数/高级函数 项目案例: 约瑟夫环问题 常用库 时间库 并发库 科学计算库 Matplotlib可视化会图库 锁和...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2.选择排序 插入排序 快速排序 8-24 3.选择排序 插入排序 快速排序 8-24 4.顺序查找 二分查找 8-24 5.多维数组 数组作业评讲② 8-24 6.数组...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2.选择排序 插入排序 快速排序 8-24 3.选择排序 插入排序 快速排序 8-24 4.顺序查找 二分查找 8-24 5.多维数组 数组作业评讲② 8-24 6.数组...

    C语言FAQ 常见问题列表

    我就可以把 ``array" 当作下标从 1 开始的数组。 o 7.15 当我向一个接受指针的指针的函数传入二维数组的时候, 编译器报错了。 o 7.16 我怎样编写接受编译时宽度未知的二维数组的函数 ? o 7.17 我怎样在函数参数...

    asp.net面试题

    提示:Array.pop()函数将数组内最后一个元素移除并返回该元素 A.7 B.14 C.21 D.以上皆不正确 填空题(共4题): 一、C#中判断整型变量k是否偶数的语句: 二、有这样的枚举定义:public enum TrainType{ 空调, 快速, ...

Global site tag (gtag.js) - Google Analytics