`
woshilifeng130
  • 浏览: 5049 次
  • 性别: Icon_minigender_1
  • 来自: 荆州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

hibernate集合映射实例

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.lifeng.po.other">
<class name="Other" schema="dbo" catalog="pubs">
<id name="id">
<generator class="identity" />
</id>
<property name="name" />

<set name="set" table="t_set" schema="dbo" catalog="pubs">
<key column="set_id" />
<element column="set_valuse" type="string" />
</set>

<list name="list" table="t_list" schema="dbo" catalog="pubs">
<key column="list_id" />
<list-index column="list_index" />
<element type="string" column="list_values" />
</list>

<array name="s" table="t_s" schema="dbo" catalog="pubs">
<key column="s_id" />
<list-index column="s_index" />
<element type="string" column="s_values" />
</array>

<map name="map" table="t_map" schema="dbo" catalog="pubs">
<key column="map_id" />
<map-key column="map_key" type="string" />
<element column="map_values" type="string" />
</map>

</class>


</hibernate-mapping>


--------------------------------使用此类添加表--------------------------
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class HibernateMian {


public static void main(String[] args) {
try {
Configuration cfg = new Configuration().configure();
SchemaExport se = new SchemaExport(cfg);
se.create(true, true);
} catch (Exception e) {
e.printStackTrace();
}


}







-------------------------------对应类----------------------------------
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Other {

public Other(){}


private int id;
private String name;
private Set set;
private List list;
private String[] s;
private Map map;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Set getSet() {
return set;
}

public void setSet(Set set) {
this.set = set;
}

public List getList() {
return list;
}

public void setList(List list) {
this.list = list;
}

public String[] getS() {
return s;
}

public void setS(String[] s) {
this.s = s;
}

public Map getMap() {
return map;
}

public void setMap(Map map) {
this.map = map;
}

}


----------------------------------测试类-------------------------------
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.hibernate.Session;

import com.lifeng.mian.HibernatePublic;
import com.lifeng.po.other.Other;

public class OtherTest {

public static void main(String[] args) {
// new OtherTest().save();
new OtherTest().query();
}

public void save() {
Session session = null;
Other other = new Other();

List list = new ArrayList();
list.add("lifeng");

Map map = new HashMap();
map.put("1", "admin");

Set set = new HashSet();
set.add("hello");

String[] a = { "a", "b" };

other.setList(list);
other.setMap(map);
other.setName("system");
other.setS(a);
other.setSet(set);
try {
session = HibernatePublic.getSession();
session.beginTransaction().begin();

session.save(other);
session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
} finally {
HibernatePublic.getClose(session);
}
}

public void query() {
Session session = null;
try {
session = HibernatePublic.getSession();

session.beginTransaction().begin();

Other other = (Other) session.load(Other.class, 3);
System.out.println("名字是:" + other.getName());

String[] s = other.getS();
System.out.println(" String数组是:" + s);
for (int i = 0; i < s.length; i++) {
System.out.println("---------------------" + s[i]
+ "-------------------");
}

Set set = other.getSet();
System.out.println("Set是:" + set);
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
System.out.println("----------------------" + object
+ "------------------------");
}

List list = other.getList();
System.out.println("list是:" + list);
for (Object object : list) {
System.out.println("--------------------------" + object
+ "-----------------------");
}

Map map = other.getMap();
System.out.println("map是:" + map);
for (Object key : map.keySet()) {
System.out.println("--------" + map.get(key)
+ "-----------------" + key);

}

session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
} finally {
HibernatePublic.getClose(session);
}
}
}



其他就是hibernate的基本配置了,配置好了先运行HibernateMian 类 在运行测试类。在测试中先得到SessionFactory
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernatePublic {
private static SessionFactory factory;

static {
try {
Configuration cfg = new Configuration().configure();
factory = cfg.buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Session getSession(){
return factory.openSession();
}


public static void getClose(Session session){
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
}
此类就可以得到SessionFactory
2
0
分享到:
评论

相关推荐

    hibernate关联映射实例

    本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中至关重要的概念。 1. **一对多关联映射**: 在现实世界中,一个实体可能会与多个其他实体相关联,...

    [原]Hibernate集合映射

    《Hibernate集合映射详解》 Hibernate作为Java领域中的一款强大持久化框架,其核心功能之一就是对象关系映射(ORM),使得开发者可以方便地在Java对象与数据库表之间进行交互。其中,集合映射是Hibernate中非常关键...

    Hibernate映射配置实例大全(详细总结)

    综上所述,"Hibernate映射配置实例大全"涵盖的内容广泛,包括基本的配置文件设置、实体类的XML和注解映射、集合映射、加载策略、事务管理和缓存配置等。通过深入学习和实践这些实例,开发者可以熟练地运用Hibernate...

    hibernate映射枚举类型

    Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了一种优雅的方式来映射枚举类型到数据库。本文将深入探讨Hibernate如何映射枚举类型,并给出实际应用示例。 ### Hibernate枚举映射方式 #### 1. `@...

    用Hibernate映射继承关系

    在Hibernate中,可以通过使用`Set`和`Map`集合类型来实现多态关联,其中`Set`存储对象实例,`Map`存储对象实例及其类型标识符。 #### 14.6 小结 映射继承关系是Hibernate中一项高级特性,它允许你将面向对象的设计...

    Hibernate集合属性的延迟加载.doc

    在给定的文档中,我们看到一个例子,展示了如何在 Hibernate 中配置一个具有集合属性的实体类 `Person`,以及如何通过映射文件启用延迟加载。`Person` 类拥有一个 `Set&lt;Address&gt;` 类型的 `addresses` 属性,表示个人...

    hibernate3实例包

    标题提及的是“hibernate3实例包”,这表明我们将讨论的是关于Hibernate 3的一个实例集合,Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转换为对对象的操作,从而简化了Java应用...

    hibernate多对多关联映射

    在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...

    常用 Hibernate 映射配置说明.doc

    一对多关联与集合映射 通过`set`、`list`、`map`等集合节点实现一对多的关联映射,其中`inverse`属性用于控制关联关系的维护方。 #### 7. 多对一关联 `many-to-one`节点表示多对一的关系,通常涉及外键引用。 #...

    Hibernate关系映射 收藏

    本篇文章主要探讨了四种常见的关系映射:多对一、一对多、一对一和多对多,并以Oracle数据库为例,通过代码实例来说明它们的实现方式。 1. 多对一(Many-to-One) 多对一关系意味着一个实体(如`Room`)可以被多个...

    Hibernate3.x关联映射示例

    **Hibernate 3.x 关联映射详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用面向对象的方式处理数据。Hibernate 3.x 版本是其成熟且广泛使用的版本,提供...

    hibernate_集合映射_set方法

    建表方法详见set实例文件夹 2,建立表的hibernate支持,生成tb_user类和对应的配置文件 3,修改配置文件使之和相应的类对应, 4,修改tb_user类,创建一个set类型的字段emailes,生成它的set和get方法 5,写测试类,...

    hibernate单向多对多映射(XML版)

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而提高开发效率。本主题聚焦于"hibernate单向多对多映射",特别是在XML配置文件中的实现。在这...

    hibernate框架学习实例

    **hibernate框架学习实例** Hibernate 是一个强大的Java持久化框架,它简化了数据库与对象之间的交互,使得开发者可以更加专注于业务逻辑而不必过多地处理SQL语句。本实例是针对hibernate 3.x版本设计的教学案例,...

    hibernate关系映射多对多关系

    `OneToMany`映射则使用`@OneToMany`注解,它需要指定关联的集合类型(如List、Set等)以及目标实体类。如果需要,还可以通过`mappedBy`属性指定反向关系。 `ManyToMany`的配置更为复杂,通常需要定义一个`@Join...

    hibernate各种映射关系祥解

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的开发。本篇文章将深入解析Hibernate中的各种映射关系,帮助你更好地理解...

    hibernate一对多实例

    标题中的“hibernate一对多实例”指的是在Java编程中使用Hibernate框架处理数据库关系时的一对多关联映射。Hibernate是Java领域中的一个流行对象关系映射(ORM)框架,它允许开发者用面向对象的方式操作数据库,从而...

    hibernate关联关系映射

    Hibernate提供了`@ElementCollection`和`@OneToMany`、`@ManyToMany`的`@CollectionTable`来处理这些集合映射。 总结,Hibernate的关联关系映射是其强大的功能之一,通过合理的配置,我们可以轻松地在Java对象和...

Global site tag (gtag.js) - Google Analytics