hibernate4 映射集合属性List
2016-04-03 23:16
591 查看
package com.xxx.domain; import java.util.ArrayList; import java.util.List; public class Person { private Integer id; private String name; private Integer age; private List<String> subject = new ArrayList<String>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public List<String> getSubject() { return subject; } public void setSubject(List<String> subject) { this.subject = subject; } }
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping SYSTEM "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" > <hibernate-mapping package="com.xxx.domain"> <class name="Person" table="tb_person"> <id name="id" column="person_id"> <generator class="native"/> </id> <property name="name" column="name" type="string"/> <property name="age" column="age" type="integer"/> <list name="subject" table="tb_subject"> <key column="person_id"/> <list-index column="index_id"/> <element column="value" type="string" /> </list> </class> </hibernate-mapping>
public class PersonTest { private SessionFactory sessionFactory=null; @Before public void setUp() throws Exception { Configuration config=new Configuration().configure(); ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build(); sessionFactory=config.buildSessionFactory(serviceRegistry); } @After public void tearDown() throws Exception { sessionFactory.close(); } @Test public void test() { //this.add(); this.find(); } public void add(){ Session session=sessionFactory.openSession(); Transaction ts= session.beginTransaction(); Person person=new Person(); person.setName("小辉"); person.setAge(22); List<String> subject=person.getSubject(); subject.add("数学"); subject.add("语文"); subject.add("英语"); subject.add("物理"); subject.add("化学"); person.setSubject(subject); session.save(person); ts.commit(); } public void find(){ Session session=sessionFactory.openSession(); Transaction ts= session.beginTransaction(); Person person=(Person)session.load(Person.class, 2); System.out.println("用户名:"+person.getName()); System.out.println("年龄:"+person.getAge()); List<String> subject=person.getSubject(); Iterator item=subject.iterator(); while(item.hasNext()){ String name=(String)item.next(); System.out.println("科目:"+name); } ts.commit(); } }
表结构
person表
subject表
相关文章推荐
- PI 开机后发送ip地址到指定邮箱
- TeamTalk源码分析之login_server
- 20160403模拟
- xcode 插件的安装使用与管理
- 构建之法阅读笔记04
- 理解bootstrap栅格
- 自考那些事儿(六):计算机网络原理(总述篇)
- LeetCodet题解--13. Roman to Integer
- 今天学到的新知识
- ansible 批量推送ssh秘钥
- 软件工程-读书笔记(第4章)
- USE [EPPM] [dbo].[REFRDEL_CLEANUP]
- iOS开发之常用的正则表达式
- 打开新的Activity的两种方法
- 《荒野猎人》影评
- C++ 顺序表的建立
- Struts2:搭建原理
- 进程 vs. 线程
- C#中用PadLeft、PadRight 补足位数
- 【BZOJ1660】【Usaco2006 Nov】Bad Hair Day 乱发节