- 浏览: 519346 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (278)
- java (41)
- 设计模式 (4)
- sql (10)
- webservice (2)
- spring (9)
- struts (6)
- struts2 (32)
- hibernate (27)
- Struts_hibernate_Spring整合 (4)
- Velocity (1)
- Servlet (9)
- JSP (6)
- javascript (19)
- jquery (10)
- ajax (4)
- html、xml (3)
- JDBC (2)
- JDK (6)
- mysql (2)
- oracle (11)
- SqlServer (1)
- DB2 (4)
- tool (7)
- linux (5)
- UML (1)
- eclipse (8)
- 执行文件 (1)
- 应用服务器 (4)
- 代码重构 (1)
- 日本語 (19)
- 交规 (1)
- office (9)
- firefox (1)
- net (1)
- 测试 (1)
- temp (6)
- 对日外包 (1)
- windows (1)
- 版本控制 (1)
- android (2)
- 项目管理 (1)
最新评论
Person.java
package com.aabnn.vo; import java.util.HashMap; import java.util.Map; public class Person { private int id; private String name; private Map<String,Double> scores=new HashMap<String,Double>(); public Person(){ } public Person(String name,Map<String,Double> scores){ this.name=name; this.scores=scores; } public int getId() { return id; } @SuppressWarnings(value="unused") private void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Map<String, Double> getScores() { return scores; } public void setScores(Map<String, Double> scores) { this.scores = scores; } }
Person.hbm.xml
<?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="com.aabnn.vo"> <class name="Person" table="person"> <id name="id" type="integer" column="id" > <generator class="identity" /> </id> <property name="name" type="string" column="name" /> <map name="scores" table="scores"> <key column="id" /> <map-key type="string" column="course" /> <element type="double" column="grade" /> </map> </class> </hibernate-mapping>
Test.java
package com.aabnn.test; import java.util.HashMap; import java.util.Map; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.classic.Session; import com.aabnn.vo.Person; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SessionFactory sf=new Configuration().configure().buildSessionFactory(); Session sess=sf.openSession(); Transaction tx=sess.beginTransaction(); Map<String,Double> scores=new HashMap<String,Double>(); scores.put("math", 80.00); scores.put("chinese", 90.00); scores.put("art", 98.00); Person p=new Person("xiaoxiao",scores); sess.save(p); tx.commit(); sess.close(); } }
mysql 数据库
-- Create schema collectionmapping -- CREATE DATABASE IF NOT EXISTS collectionmapping; USE collectionmapping; -- -- Definition of table `person` -- DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(45) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- -- Dumping data for table `person` -- /*!40000 ALTER TABLE `person` DISABLE KEYS */; INSERT INTO `person` (`id`,`name`) VALUES (1,'xiaoxiao'), (2,'xiaoxiao'), (3,'xiaoxiao'), (4,'xiaoxiao'); /*!40000 ALTER TABLE `person` ENABLE KEYS */; -- -- Definition of table `scores` -- DROP TABLE IF EXISTS `scores`; CREATE TABLE `scores` ( `id` int(10) unsigned NOT NULL, `course` varchar(45) NOT NULL default '', `grade` double default NULL, PRIMARY KEY (`id`,`course`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Dumping data for table `scores` -- /*!40000 ALTER TABLE `scores` DISABLE KEYS */; INSERT INTO `scores` (`id`,`course`,`grade`) VALUES (1,'art',98), (1,'chinese',90), (1,'math',80), (2,'art',98), (2,'chinese',90), (2,'math',80), (3,'art',98), (3,'chinese',90), (3,'math',80), (4,'art',98), (4,'chinese',90), (4,'math',80); /*!40000 ALTER TABLE `scores` ENABLE KEYS */;
map映射到class
<map name="images" table="IMAGES" lazy="true" order-by="IMAGE_NAME asc"> <key column="CUSTOMER_ID"></key> <index type="string" column="IMAGE_NAME"></index> <composite-element class="mypack.Image"> <parent name="customer"/> <property name="filename" column="FILENAME"></property> </composite-element> </map>
发表评论
文章已被作者锁定,不允许评论。
-
Hibernate 配置 说明
2011-11-29 09:05 1481Hibernate配置说明 <?xm ... -
hibernate 相关问题 (一)
2011-04-06 13:50 1468一、Hibernate缓存深入详解 看附件 ... -
Hibenrate 中 inverse="true"
2010-09-19 10:12 1060转:http://www.iteye.com/to ... -
hibernate 3.0 中 批量更新,批量删除
2010-09-09 12:51 981hibernate 2.1没有对批量更新和批量删除提供很好的支 ... -
hibernate one-to-one
2010-09-07 15:56 1427一。 1. 完全的一对一关系,即A与B两种实体,分两个表格, ... -
hibernate many-to-many
2010-09-07 15:26 884Inverse是hibernate双向关系 ... -
hibernate 集合排序 二 (数据库排序)
2010-09-03 11:03 1144<set><idbag>< ... -
hibernate 集合排序 一 (内存排序)
2010-09-03 10:52 1085内存中排序 <set><map ... -
hibernate list映射
2010-09-03 10:41 1117Answer类为Question类一对多关联关系,即一个问题对 ... -
hibernate idbag映射
2010-09-03 10:35 1051假设Team和Student是1对多的关系,而studen ... -
hibernate set映射
2010-09-03 10:27 1796Hibernate之容器映射 Set映射 两张表对应一个 ... -
hibernate 二级缓存(三)
2010-08-31 11:00 1369过这篇文章纪录hibernate二级缓存的一些使用经历,利用几 ... -
hibernate 二级缓存(二)
2010-08-31 10:48 11411 启用 Hibernate 二级缓存 Hibe ... -
hibernate 二级缓存(一)
2010-08-31 10:29 1848一。 1 . Hibernate ... -
hibernate 事务 并发
2010-08-27 10:17 1387数据库事务与并发 ... -
hibernate 执行 本地 sql
2010-08-25 10:47 17491.为了把sql查询返回的关系数据映射为对象,需 ... -
Hibernate3的配置参数汇总
2010-08-25 10:22 7561、Hibernate JDBC属性 属 ... -
正确理解 hibernate 的 inverse many-to-many
2010-08-25 10:18 822Inverse是hibernate双向关系 ... -
Hql 语法
2010-08-19 14:40 922HQL是完全面向对象的查询语言,因此可以支持继承和多态等特征。 ... -
hibernate检索策略(类级别检索,关联基本检索,延迟加载...)(二)
2010-08-16 22:36 1402转:http://blog.csdn.net/qking934 ...
相关推荐
Map映射 Map集合映射比较特殊,因为它的键和值都可以是任何对象。键通常映射到数据库的某个字段,而值则映射到另一个对象。以下是一个例子: ```xml <!-- User.hbm.xml --> <map name="properties" table="USER_...
Hibernate容器映射技术(Set、List、Map)
以下是关于Hibernate使用Map实现多对多映射的具体知识点: 1. **数据库结构**: - `team2`表存储团队信息,包含字段`id`和`name`。 - `member2`表存储成员信息,包含字段`id`、`name`和`age`。 - `memberAtTeams...
本主题将深入探讨Hibernate集合映射与关联关系,包括"student与Score的Map集合关系"、"student与class的多对一"以及"一对多映射"的概念。 首先,让我们理解一下Hibernate中的集合映射。在关系型数据库中,一个实体...
Hibernate支持多种集合映射类型,包括List、Set、Map、Bag、Array等。它们之间的区别主要在于元素的唯一性、顺序性和映射到数据库的实现方式。例如,List和Array维护元素的插入顺序,而Set不允许重复元素;Map则...
本文将深入探讨Hibernate中的四种主要集合映射类型:Set、List、Array和Map,以及它们在实际开发中的应用场景和配置。 一、Set集合映射 Set集合映射是最常见的映射类型,它不允许重复元素。在Hibernate中,Set通常...
Hibernate 集合映射详解 Hibernate 是一个流行的Java持久化框架,它提供了多种集合映射类型,以满足不同的业务需求。在 Hibernate 中,集合映射是指将 Java 集合类型与数据库表之间的映射关系。常见的集合映射类型...
对于数组和集合,如List、Set、Map等,Hibernate提供了ListType、SetType、MapType等映射类型,可以根据实际需求选择。 此外,自定义对象的映射是Hibernate映射中的一个重要部分。通过在实体类上使用@Entity注解,...
例如,`<set>`用于映射Java集合到数据库的表,`<list>`映射到有序的列表,`<map>`映射到键值对,`<bag>`则用于无序集合。每个集合映射都可以配置元素类型、排序规则以及关联的表。 在配置中,我们还需要关注懒加载...
在Hibernate中,可以通过使用`Set`和`Map`集合类型来实现多态关联,其中`Set`存储对象实例,`Map`存储对象实例及其类型标识符。 #### 14.6 小结 映射继承关系是Hibernate中一项高级特性,它允许你将面向对象的设计...
Hibernate 支持多种集合类型,如 List、Set、Map 等,它们可以作为一对多或多对多关系的容器。`@ElementCollection` 用于映射非实体类属性的集合,而 `@OrderColumn` 可以指定集合元素的排序方式。 6. **级联操作 ...
通过`set`、`list`、`map`等集合节点实现一对多的关联映射,其中`inverse`属性用于控制关联关系的维护方。 #### 7. 多对一关联 `many-to-one`节点表示多对一的关系,通常涉及外键引用。 #### 8. 多对多关联 `...
在映射文件中,`One`端通常定义一个集合属性,如`Set`或`List`,并使用`bag`、`list`、`set`或`map`元素表示。例如,`Teacher`类可能有一个`courses`属性,包含所有教授的课程: ```xml ...
在Java的持久化框架Hibernate中,集合映射是将数据库中的表关系映射到对象模型中的集合类,如List、Set、Map等。这允许我们在Java代码中操作对象集合,而Hibernate负责处理底层的SQL查询和数据存储。本文将深入探讨`...
Hibernate支持多种集合类型的映射,如`List`, `Set`, `Map`等。每种集合类型有不同的行为和排序规则。例如,`@ElementCollection`用于映射非实体的简单类型的集合。 9. **反向映射(Inverse Mapping)** 反向映射...
集合映射是Hibernate中一个非常关键的概念,它使得Java集合类如List、Set、Map等能够与数据库中的多对一、一对多、多对多关系对应起来。在这个主题中,我们将深入探讨Hibernate集合映射的各个方面。 首先,我们来看...
在Java持久化框架Hibernate中,容器映射技术是将Java集合类(如Set、Map、List等)与数据库中的关联关系进行映射的一种方法。这种技术使得对象之间的复杂关系能够被有效地存储和检索,增强了数据操作的灵活性。下面...
4. **关系映射**:一对一、一对多、多对多关系的建立,外键的处理,集合映射(List、Set、Map等)的配置。 5. **查询语言**:HQL(Hibernate Query Language)和 Criteria API的使用,以及与原生SQL的比较。 6. **懒...