- 浏览: 5819322 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
set
list
array
map
的映射。
集合映射会发出很多 sql语句
各种类型集合的映射文件
测试一下:
list
array
map
的映射。
集合映射会发出很多 sql语句
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_collection_mapping</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">bjsxt</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <mapping resource="com/bjsxt/hibernate/CollectionMapping.hbm.xml"/> </session-factory> </hibernate-configuration>
import java.util.List; import java.util.Map; import java.util.Set; public class CollectionMapping { private int id; private String name; private Set setValue; private List listValue; private String[] arrayValue; private Map mapValue; //setter,getter }
各种类型集合的映射文件
<?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> <class name="com.bjsxt.hibernate.CollectionMapping" table="t_CollectionMapping"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <set name="setValue" table="t_set_value"> <key column="set_id"/> <element type="string" column="set_value"/> </set> <list name="listValue" table="t_list_value"> <key column="list_id"/> <list-index column="list_index"/> <element type="string" column="list_value"/> </list> <array name="arrayValue" table="t_array_value"> <key column="array_id"/> <list-index column="array_index"/> <element type="string" column="array_value"/> </array> <map name="mapValue" table="t_map_value"> <key column="map_id"/> <map-key type="string" column="map_key"/> <element type="string" column="map_value"/> </map> </class> </hibernate-mapping>
测试一下:
import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import org.hibernate.Session; import junit.framework.TestCase; public class CollectionMappintTest extends TestCase { public void testSave1() { Session session = null; CollectionMapping c = new CollectionMapping(); c.setName("xxx"); Set setValue = new HashSet(); setValue.add("a"); setValue.add("b"); c.setSetValue(setValue); List listValue = new ArrayList(); listValue.add("c"); listValue.add("d"); c.setListValue(listValue); String[] arrayValue = new String[]{"e", "f"}; c.setArrayValue(arrayValue); Map mapValue = new HashMap(); mapValue.put("k1", "v1"); mapValue.put("k2", "v2"); c.setMapValue(mapValue); try { session = HibernateUtils.getSession(); session.beginTransaction(); session.save(c); session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateUtils.closeSession(session); } } public void testLoad1() { Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); CollectionMapping c = (CollectionMapping)session.load(CollectionMapping.class, 1); System.out.println("name=" + c.getName()); System.out.println("setvalue=" + c.getSetValue()); System.out.println("mapvalue=" + c.getMapValue()); System.out.println("listvalue=" + c.getListValue()); session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateUtils.closeSession(session); } } }
发表评论
-
DetachedCriteria查询实例
2010-07-20 15:52 2110项目中用到了DetachedCriteria,顺便记下来 De ... -
hibernate学习13之悲观锁与乐观锁
2010-01-28 11:55 2000悲观锁Pessimistic 悲观锁 ... -
hibernate学习11之composite(复合)主键映射
2010-01-28 10:50 2197复合主键映射可以看作是组件映射的一个特例. <!D ... -
hibernate学习10之component(组件)映射
2010-01-28 10:34 1839在hibernate中,component是某个实体的逻辑组成 ... -
hibernate学习9之extends(继承)映射
2010-01-28 10:19 3012hibernate.cfg.xml: <!DOCTY ... -
hibernate学习8之lazy策略
2010-01-27 17:44 1929hibernate lazy策略可以使用在: * <c ... -
hibernate学习7之many-to-many双向关联
2010-01-27 16:54 1865Hibernate.cfg.xml配置同前一节。 imp ... -
hibernate学习6之many-to-many单向关联
2010-01-27 16:40 2433<!DOCTYPE hibernate-config ... -
hibernate学习5之one-to-many双向关联
2010-01-27 16:10 2314一对多双向关联映射: * 在一一端的集合上使用<key ... -
hibernate学习4之one-to-many单向关联(不推荐)
2010-01-27 15:47 4787一对多和多对一的映射策略是一样的,只是站的角度不同. 多对一 ... -
hibernate学习3之one-to-one单向外键关联
2010-01-27 14:55 3105one-to-one关联其实是many-to-one的一种特殊 ... -
hibernate学习2之many-to-one
2010-01-27 14:37 1894public class Group { privat ... -
hibernate学习1之基础工具
2010-01-27 14:21 1793//根据映射文件生成数据库表 import org.hib ... -
Hibernate批量删除出现sql异常Connection is read-only. Queries leading ... are not allowed
2009-12-23 17:48 9145在做批量删除时出现: Connection is read- ... -
PaginationSupport加强版的分页代码
2009-09-21 13:04 4970PaginationSupport.java,这个类网上有,我 ... -
根据用户权限,动态显示用户菜单
2009-09-17 14:48 9885用户权限userPermission,比如[1][2][3][ ... -
数据插入不成功的问题
2009-09-03 13:25 1779检查表的字段名中是否有sql关键字,如use,count,ma ... -
Hibernate的批量更新和删除
2009-08-16 22:03 2136批量更新是指在一个事 ... -
利用myeclipse 生成Hibernate Mapping文件时出现No entries available的解决办法
2009-07-30 23:26 16790在hibernate中,每个数据表对应的其实是一个实体类,每个 ...
相关推荐
在Java的持久化框架Hibernate中,集合映射是将数据库中的表关系映射到对象模型中的集合类,如List、Set、Map等。这允许我们在Java代码中操作对象集合,而Hibernate负责处理底层的SQL查询和数据存储。本文将深入探讨`...
在这个“hibernate中的集合映射范例程序”中,我们将深入探讨如何在Hibernate中进行集合映射,以及不同集合类型的应用场景。 首先,集合映射是Hibernate中处理一对多、多对多关系的核心机制。它允许我们将一个实体...
对于复杂的集合映射,我们还可以自定义映射类,通过实现Hibernate的`CollectionType`接口,来提供更灵活的数据结构和行为。 总结来说,Hibernate的集合映射是连接对象模型与关系数据库的重要桥梁,理解并熟练掌握其...
总之,Hibernate的多对多关联映射是解决复杂关系数据库设计的关键技术之一。通过合理的配置和使用,开发者可以轻松管理实体之间的多对多关系,提高开发效率。理解并熟练掌握这部分知识对于提升Java企业级应用开发...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它使得开发者能够将数据库操作转换为面向对象的方式,极大地提高了开发效率。本文主要探讨的是Hibernate中的一对多关联映射,这是一种常见的关系...
本篇笔记主要探讨了如何使用Hibernate进行容器映射,特别是针对集合类型的映射,如List、Set和Map。 首先,我们来看集合类型在Hibernate中的映射: 1. **单值Collection**: 这种情况通常指的是一个对象与多个其他...
7. **集合映射** (Collection Mapping) Hibernate支持多种集合类型,如List、Set、Map等,它们对应不同的数据库表结构。比如,`@ElementCollection`用于非关联的简单类型的集合,而`@OneToMany`和`@ManyToMany`则...
Hibernate提供了`@ElementCollection`和`@OneToMany`、`@ManyToMany`的`@CollectionTable`来处理这些集合映射。 总结,Hibernate的关联关系映射是其强大的功能之一,通过合理的配置,我们可以轻松地在Java对象和...
4. **集合映射(Collection Mapping)**:`@ElementCollection`和`@CollectionTable`用于非关联对象的集合映射。 5. **懒加载与立即加载(Lazy Loading vs Eager Loading)**:理解Hibernate的懒加载机制,以及何时...
8. **集合映射(Collection Mapping)** Hibernate支持多种集合类型的映射,如`List`, `Set`, `Map`等。每种集合类型有不同的行为和排序规则。例如,`@ElementCollection`用于映射非实体的简单类型的集合。 9. **...
### Hibernate学习笔记:对象/关系数据库映射(二)——集合映射 #### 1. 集合映射概述 在对象/关系映射(ORM)领域中,Hibernate 是一个非常强大的工具,它能够帮助开发者高效地进行 Java 对象与数据库记录之间的...
6.3. 高级集合映射(Advanced collection mappings) 6.3.1. 有序集合(Sorted collections) 6.3.2. 双向关联(Bidirectional associations) 6.3.3. 双向关联,涉及有序集合类 6.3.4. 三重关联(Ternary ...
通过阅读`org.hibernate.persister.collection.BasicCollectionPersister`和`org.hibernate.engine.collection.CascadeStyle`等相关类,可以了解Hibernate如何处理集合的保存、更新和删除操作。 五、工具支持 在...
在IT行业中,数据库操作是应用程序不可或缺的一部分,而Hibernate作为Java领域的一个流行ORM(对象关系映射)框架,极大地简化了数据库交互。今天我们将深入探讨"day36 06-Hibernate抓取策略",特别是针对set集合的...
标题中的“hibernate 映射-一对多双向”指的是在Java Hibernate框架中处理数据库关系映射中的一对多关联关系,并且这种关联是双向的。Hibernate是一个对象关系映射(ORM)工具,它允许开发者用Java对象来表示数据库...
在实践中,根据业务需求,我们可能需要在映射关系中添加各种条件,如级联操作(`cascade`属性)、懒加载(`fetch`属性)、集合的初始大小(`@CollectionTable.sizeColumn`)等。理解并灵活运用这些特性能够帮助我们...
12. **集合映射(Collection Mapping)**: Hibernate支持多种集合类型(List、Set、Map等)的映射,以及一对多、多对一、一对一和多对多的关系映射。 通过阅读“Hibernate+Annotation+文档.pdf”,您可以深入学习...