- 浏览: 157188 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (210)
- java (44)
- javascript (5)
- 网摘 (21)
- 程序人生 (19)
- hibernate (21)
- spring (7)
- struts (1)
- jquery (2)
- mssql (3)
- mysql (3)
- oracle (7)
- 学习日记 (10)
- PowerDesigner (1)
- android (4)
- 调试 (1)
- tomcat (3)
- webapp (1)
- context (2)
- jsp (2)
- 学习 (18)
- 态度 (4)
- 坚持 (4)
- jsf (1)
- ui (1)
- css (1)
- seam (0)
- 转载 (5)
- JNDI (1)
- 创业 (1)
- 公司 (1)
- 方向 (1)
- ETL (1)
- Datastage (1)
- 数据整合 (1)
- 心情,感触 (1)
- 开发 (2)
- 测试 (1)
- 需求 (1)
- 湿身 (1)
- 网购,分类 (1)
- 驾校,转载 (1)
- 中秋,露营 (1)
- 域名 (1)
- 空间 (1)
- 网站程序 (1)
- SolrCloud (1)
- Solr (6)
- 全文库 (1)
- HBase (1)
- Hadoop (1)
- 网络应用 (1)
- 数据结构 (1)
- NoSQL (1)
- jQueryEasyUI (1)
- 面试 (1)
- 三十六计 (1)
- S2S3H4 (1)
- jar (1)
- war (1)
- web 项目 (1)
- Subversion (1)
- TortoiseSVN (1)
- MyEclipse (1)
- eclipse svn插件 (1)
- SQL2005 (1)
- ASP (1)
- 笔记 (2)
- 虚拟器、centOS、jdk、tomcat、nginx (1)
- memcached (1)
- nginx (1)
- telnet (1)
- nfs (1)
- zookeeper (2)
- window (1)
- linux (3)
- cronolog (1)
- web (1)
- mybatis (3)
- 设计模式 (1)
- 测试覆盖率 (1)
- EclEmma (1)
- tomcat7 (1)
- sore (1)
- 时间 (1)
- fackbook (0)
- facebook (1)
- IK (2)
- PKUSUMSU (1)
- openoffice (1)
- pdf (1)
- memcache (1)
- 动态词库 (1)
- 动态同义词 (1)
- centos7.3 (2)
- maven (4)
- 111 (0)
- nexus (2)
- 23种设计模式 (1)
- springboot (1)
- shiro (1)
- redis (1)
- rabbitMQ (1)
- native (1)
- dll (1)
- jasperReports (1)
- ireport (1)
最新评论
-
zhongfenglin:
学车的经历 -
Tiny_小小:
...
网购的选择 -
jrjr200411:
楼主写的好!
面对大公司和小公司的选择 -
feelboy:
说的很好。
每周四十小时,你有多少是在为自己干活?
集合映射
public class CollectionMapping { private int id; private String name; private Set setValue; private List listValue; private String[] arrayValue; private Map mapValue; }
<class name="CollectionMapping" table="CollectionMapping"> <id name="id" type="integer"> <generator class="increment" /> </id> <property name="name"/> <set name="setValue" > <key column="set_id" /> <element type="string" column="set_value" /> </set> <list name="listValue"> <key column="list_id" /> <list-index column="list_index"/> <element type="string" column="list_value"/> </list> <array name="arrayValue"> <key column="array_id" /> <list-index column="array_index"/> <element type="string" column="array_value" /> </array> <map name="mapValue"> <key column="map_id" /> <map-key type="string" column="map_key" /> <element type="string" column="map_value" /> </map> </class>
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 = HibernateSessionFactory.getSession(); session.beginTransaction(); session.save(c); session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateSessionFactory.closeSession(session); } }
组件映射
定义一个Contact类,User类,通过配置User映射文件
public class Contact { private String address; private String telephone; private String zipCode; private String email; }
public class User { private int id; private String name; private Contact contact; }
<class name="mapping.User" table="t_user"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <component name="contact"> <property name="email"/> <property name="address"/> <property name="telephone"/> <property name="zipCode"/> </component> </class>
public static void main(String[] args) { Session session = null; try { session = HibernateSessionFactory.getSession(); session.beginTransaction(); User user = new User(); user.setName("xxxxx"); Contact contact = new Contact(); contact.setEmail("xxxx@qq.com"); contact.setAddress("china"); contact.setZipCode("24237483274"); contact.setTelephone("13546546888"); user.setContact(contact); session.save(user); } catch (Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally{ HibernateSessionFactory.closeSession(session); } }
复合(联合)主键映射
通常将复合主键相关的属性,单独放到一个类中
* 此类必须实现序列化接口
* 覆写hashcode和equals方法
主要一个实现序列号接口的类,主类,映射文件
public class FiscalYearPeriodPK implements Serializable { private static final long serialVersionUID = 9033183366102420040L; //核算年 private int fiscalYear; //核算月 private int fiscalPeriod; public int getFiscalPeriod() { return fiscalPeriod; } public void setFiscalPeriod(int fiscalPeriod) { this.fiscalPeriod = fiscalPeriod; } public int getFiscalYear() { return fiscalYear; } public void setFiscalYear(int fiscalYear) { this.fiscalYear = fiscalYear; } @Override public int hashCode() { final int PRIME = 31; int result = 1; result = PRIME * result + fiscalPeriod; result = PRIME * result + fiscalYear; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final FiscalYearPeriodPK other = (FiscalYearPeriodPK) obj; if (fiscalPeriod != other.fiscalPeriod) return false; if (fiscalYear != other.fiscalYear) return false; return true; } }
public class FiscalYearPeriod{ private FiscalYearPeriodPK fiscalYearPeriodPK; // 开始日期 private Date beginDate; // 结束日期 private Date endDate; // 状态 private String periodSts; }public void testSave1() { Session session = null; Random ran = new Random(); try { session = HibernateSessionFactory.getSession(); session.beginTransaction(); for(int i=10;i<1000;i++){ FiscalYearPeriod fiscalYearPeriod = new FiscalYearPeriod(); FiscalYearPeriodPK pk = new FiscalYearPeriodPK(); pk.setFiscalYear(ran.nextInt(i)); pk.setFiscalPeriod(ran.nextInt(i*1000)); fiscalYearPeriod.setFiscalYearPeriodPK(pk); fiscalYearPeriod.setBeginDate(new Date()); fiscalYearPeriod.setEndDate(new Date()); fiscalYearPeriod.setPeriodSts("Y"); session.save(fiscalYearPeriod); } session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateSessionFactory.closeSession(session); } }
发表评论
-
Hibernate工作原理
2019-05-14 20:00 374hibernate 简介:hibernate是一个开源框架, ... -
SSH整合的几种最常见方式 .
2012-03-22 12:00 1228Spring实例Action的两种方式:1、Delegatin ... -
Hibernate Annotation笔记
2011-11-23 23:58 644(1)简介:在过去几年里,Hibernate不断发展,几乎 ... -
使用 Hibernate 进行大数据量的性能测试
2010-11-08 20:28 1005近日为是否在项目中使 ... -
加速你的Hibernate引擎
2010-11-08 19:35 723参考(上、下): http://blog.csdn.net/ ... -
hibernate各种属性配置
2010-10-29 10:32 1020hibernate.dialect 一个Hibern ... -
多对多
2010-10-24 17:11 719多对多单向 User(多)对多(Role),一般都是通过中间 ... -
多对一
2010-10-24 17:00 845多对一单向 User(多)对Group(一),在User实体 ... -
一对多
2010-10-24 16:51 739一对多单向 定义两个实体类,及两个映射文件 一对多一的一端 ... -
一对一
2010-10-24 16:36 681一对一单向 定义两个类,两个映射文件一个工具类生成表 pu ... -
hibernate的抓取策略
2010-10-24 16:08 741hibernate抓取策略(单端代理的批量抓取) 保持默认, ... -
hibernate的继承
2010-10-24 15:54 684每棵继承树映射成一张表 1、理解如何映射 因为类继承树肯定 ... -
hibernate的锁
2010-10-24 15:48 768乐观锁 大多数基于数据版本记录机制(version)实现,一 ... -
hibernate的lazy
2010-10-24 15:44 807hibernate lazy策略可以使用在: * <cl ... -
hibernate的缓存
2010-10-24 15:33 997hibernate一级缓存 一级缓存很短和session的生命 ... -
session管理
2010-10-24 15:01 843了解Hibernate中CRUD操作 了解get和load的 ... -
hibernate查询语言hql
2010-10-24 13:46 1118在hql中关键字不区分大 ... -
hibernate基本配置
2010-10-24 13:22 8131.开发环境Window 2.开发工具MyEclispe5. ... -
Hibernate 各种数据库的配置
2010-09-13 10:33 9381. MySql连接配置 MySql数据库的hiber ... -
hibernate学习
2009-07-21 13:54 929hibernate多对多的解决Hibernate多对多的例子 ...
相关推荐
"自动生成 Hibernate 映射文件和实体类" 自动生成 Hibernate 映射文件和实体类是使用 MyEclipse 工具来实现的,这可以大大提高开发效率,减少开发时间。下面将详细介绍如何使用 MyEclipse 自动生成 Hibernate 映射...
hibernate映射文件是Java开发中用于对象关系映射(ORM)的重要组成部分,它将数据库表与Java类之间的关系进行定义,使得开发者无需编写大量的SQL语句,就能实现对数据库的操作。`生成hibernate映射文件工具`是为了...
首先,我们需要了解Hibernate映射文件的基本结构。通常,一个映射文件以`.hbm.xml`为扩展名,它使用XML格式来描述Java类和数据库表的对应关系。映射文件包含了类名、表名、字段及其数据类型等信息。例如: ```xml ...
**hibernate映射与查询** Hibernate 是一个流行的 Java 应用程序开发框架,它提供了一个持久层解决方案,简化了数据库操作。对于初学者来说,理解 Hibernate 的映射和查询机制是至关重要的,因为它们构成了 ...
【压缩包子文件的文件名称列表】:“hibernate映射文件自动生成.doc”很可能是这篇博文的文档形式,其中详细介绍了具体的操作步骤、使用工具或者自定义脚本,以帮助开发者理解并应用自动化的映射文件生成过程。...
Hibernate映射文件是XML格式的文件,它定义了数据库表与Java实体类之间的对应关系,包括字段映射、主键策略、关联关系等。映射文件让开发者无需编写SQL语句,就能通过Java对象进行数据库操作。 2. **MyEclipse ...
build.xml 手写自动生成Hibernate映射文件和配置文件源代码
### 常用Hibernate映射配置详解 #### 1. hibernate-mapping节点解析 `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库...
3. **逆向工程(Hibernate Reverse Engineering)**:选中要映射的数据库表,右键选择`Hibernate Reverse Engineering`,这是MyEclipse提供的将数据库表转换为Hibernate映射文件和实体类的工具。 4. **配置生成选项...
### Hibernate映射笔记详解 #### Hibernate映射文件与配置关系 Hibernate映射是ORM(对象关系映射)框架中的一项关键技术,它允许开发者在数据库表和Java对象之间建立映射关系,从而简化了数据访问层的开发工作。...
而MyEclipse作为一款强大的Java集成开发环境,提供了对Hibernate的良好支持,包括自动生成Hibernate映射文件的功能。本文将详细介绍如何在MyEclipse中创建和使用Hibernate映射文件。 首先,理解Hibernate映射文件...
确保数据库与Hibernate映射文件一致,能正确地反映实体之间的关系。导入DBO到SQL Server数据库后,就可以通过Hibernate的Session接口进行CRUD(创建、读取、更新、删除)操作了。 在开发过程中,理解并熟练运用这些...
"Hibernate映射配置实例大全"是一个全面深入的资源,旨在帮助开发者理解和掌握如何有效地配置Hibernate以实现对象关系映射(ORM)。在这个文档中,我们将探讨各种关键的映射配置方法,以及相关的实例。 首先,我们...
标题“Hibernate映射树形结构”指的是如何用Hibernate来存储和操作具有层级关系的数据。 1. **单表映射策略**: Hibernate可以使用单个表来存储树形结构,通过一个自增的`id`字段以及一个表示父节点的`parent_id`...
本文将详细探讨如何使用Hibernate映射集合属性List,以及如何让Hibernate自动创建对应的数据库表,无需手动编写SQL语句。 首先,我们需要理解Hibernate的映射机制。Hibernate通过ORM(对象关系映射)技术将Java对象...
Hibernate映射文件,通常以`.hbm.xml`为扩展名,是Hibernate用来定义Java类与数据库表之间关系的配置文件。它包含了关于实体类与数据库表的字段对应、主键生成策略、关联关系等信息。通过这些映射文件,Hibernate...
标题:“Hibernate映射” 描述详解: ### Hibernate映射——连接对象世界与数据库的桥梁 Hibernate是一种流行的Java持久层框架,其核心功能是提供一个高级的对象关系映射(ORM)工具,用于将Java对象模型映射到...
下面我们将详细介绍如何在MyEclipse中自动生成Hibernate映射文件。 首先,我们需要建立数据库连接。在MyEclipse中,可以通过`Window`菜单打开`MyEclipse Database Explorer`视图。在这里,你可以创建新的数据库连接...