<?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
分享到:
相关推荐
本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中至关重要的概念。 1. **一对多关联映射**: 在现实世界中,一个实体可能会与多个其他实体相关联,...
《Hibernate集合映射详解》 Hibernate作为Java领域中的一款强大持久化框架,其核心功能之一就是对象关系映射(ORM),使得开发者可以方便地在Java对象与数据库表之间进行交互。其中,集合映射是Hibernate中非常关键...
综上所述,"Hibernate映射配置实例大全"涵盖的内容广泛,包括基本的配置文件设置、实体类的XML和注解映射、集合映射、加载策略、事务管理和缓存配置等。通过深入学习和实践这些实例,开发者可以熟练地运用Hibernate...
Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了一种优雅的方式来映射枚举类型到数据库。本文将深入探讨Hibernate如何映射枚举类型,并给出实际应用示例。 ### Hibernate枚举映射方式 #### 1. `@...
在Hibernate中,可以通过使用`Set`和`Map`集合类型来实现多态关联,其中`Set`存储对象实例,`Map`存储对象实例及其类型标识符。 #### 14.6 小结 映射继承关系是Hibernate中一项高级特性,它允许你将面向对象的设计...
在给定的文档中,我们看到一个例子,展示了如何在 Hibernate 中配置一个具有集合属性的实体类 `Person`,以及如何通过映射文件启用延迟加载。`Person` 类拥有一个 `Set<Address>` 类型的 `addresses` 属性,表示个人...
标题提及的是“hibernate3实例包”,这表明我们将讨论的是关于Hibernate 3的一个实例集合,Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转换为对对象的操作,从而简化了Java应用...
在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...
一对多关联与集合映射 通过`set`、`list`、`map`等集合节点实现一对多的关联映射,其中`inverse`属性用于控制关联关系的维护方。 #### 7. 多对一关联 `many-to-one`节点表示多对一的关系,通常涉及外键引用。 #...
本篇文章主要探讨了四种常见的关系映射:多对一、一对多、一对一和多对多,并以Oracle数据库为例,通过代码实例来说明它们的实现方式。 1. 多对一(Many-to-One) 多对一关系意味着一个实体(如`Room`)可以被多个...
**Hibernate 3.x 关联映射详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用面向对象的方式处理数据。Hibernate 3.x 版本是其成熟且广泛使用的版本,提供...
建表方法详见set实例文件夹 2,建立表的hibernate支持,生成tb_user类和对应的配置文件 3,修改配置文件使之和相应的类对应, 4,修改tb_user类,创建一个set类型的字段emailes,生成它的set和get方法 5,写测试类,...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而提高开发效率。本主题聚焦于"hibernate单向多对多映射",特别是在XML配置文件中的实现。在这...
**hibernate框架学习实例** Hibernate 是一个强大的Java持久化框架,它简化了数据库与对象之间的交互,使得开发者可以更加专注于业务逻辑而不必过多地处理SQL语句。本实例是针对hibernate 3.x版本设计的教学案例,...
`OneToMany`映射则使用`@OneToMany`注解,它需要指定关联的集合类型(如List、Set等)以及目标实体类。如果需要,还可以通过`mappedBy`属性指定反向关系。 `ManyToMany`的配置更为复杂,通常需要定义一个`@Join...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的开发。本篇文章将深入解析Hibernate中的各种映射关系,帮助你更好地理解...
标题中的“hibernate一对多实例”指的是在Java编程中使用Hibernate框架处理数据库关系时的一对多关联映射。Hibernate是Java领域中的一个流行对象关系映射(ORM)框架,它允许开发者用面向对象的方式操作数据库,从而...
Hibernate提供了`@ElementCollection`和`@OneToMany`、`@ManyToMany`的`@CollectionTable`来处理这些集合映射。 总结,Hibernate的关联关系映射是其强大的功能之一,通过合理的配置,我们可以轻松地在Java对象和...