hibernate学习12之Collection(集合)映射
2017-04-10 17:55
260 查看
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); } } }
相关文章推荐
- Hibernate学习22 -- 关联映射12 -- 集合映射
- Hibernate4学习总结(4)--注解形式的集合映射,关联关系映射
- Hibernate学习笔记(七)【映射值类型集合】
- hibernate学习笔记12--Hibernate中使用的集合类型
- Hibernate 学习笔记07 --集合映射_&_继承映射
- Hibernate学习-6-集合映射保存和集合数据获取案例
- Hibernate集合映射学习
- Hibernate学习文档_集合映射
- Hibernate学习笔记:集合映射之映射Map
- Hibernate学习笔记:集合映射之映射Map
- HIbernate学习笔记(七) hibernate中的集合映射和继承映射
- Hibernate学习12 -- 关联映射2 -- 一对一关联1 -- 一对一主键关联
- Hibernate学习_015_集合映射
- hibernate集合映射学习笔记
- 【Hibernate学习笔记】映射值类型集合
- Hibernate4学习总结(2)--配置形式的集合映射,关联关系映射
- 【HIbernate框架学习】:Hibernate集合映射
- Hibernate集合映射之Map-----element映射实体类型值
- Hibernate学习之关系映射(转)
- hibernate的list集合映射(与set区别)