- 浏览: 151951 次
- 性别:
- 来自: 厦门
-
文章分类
- 全部博客 (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 328hibernate 简介:hibernate是一个开源框架, ... -
SSH整合的几种最常见方式 .
2012-03-22 12:00 1209Spring实例Action的两种方式:1、Delegatin ... -
Hibernate Annotation笔记
2011-11-23 23:58 626(1)简介:在过去几年里,Hibernate不断发展,几乎 ... -
使用 Hibernate 进行大数据量的性能测试
2010-11-08 20:28 985近日为是否在项目中使 ... -
加速你的Hibernate引擎
2010-11-08 19:35 703参考(上、下): http://blog.csdn.net/ ... -
hibernate各种属性配置
2010-10-29 10:32 998hibernate.dialect 一个Hibern ... -
多对多
2010-10-24 17:11 696多对多单向 User(多)对多(Role),一般都是通过中间 ... -
多对一
2010-10-24 17:00 827多对一单向 User(多)对Group(一),在User实体 ... -
一对多
2010-10-24 16:51 720一对多单向 定义两个实体类,及两个映射文件 一对多一的一端 ... -
一对一
2010-10-24 16:36 660一对一单向 定义两个类,两个映射文件一个工具类生成表 pu ... -
hibernate的抓取策略
2010-10-24 16:08 719hibernate抓取策略(单端代理的批量抓取) 保持默认, ... -
hibernate的继承
2010-10-24 15:54 664每棵继承树映射成一张表 1、理解如何映射 因为类继承树肯定 ... -
hibernate的锁
2010-10-24 15:48 742乐观锁 大多数基于数据版本记录机制(version)实现,一 ... -
hibernate的lazy
2010-10-24 15:44 784hibernate lazy策略可以使用在: * <cl ... -
hibernate的缓存
2010-10-24 15:33 979hibernate一级缓存 一级缓存很短和session的生命 ... -
session管理
2010-10-24 15:01 815了解Hibernate中CRUD操作 了解get和load的 ... -
hibernate查询语言hql
2010-10-24 13:46 1095在hql中关键字不区分大 ... -
hibernate基本配置
2010-10-24 13:22 7961.开发环境Window 2.开发工具MyEclispe5. ... -
Hibernate 各种数据库的配置
2010-09-13 10:33 9231. MySql连接配置 MySql数据库的hiber ... -
hibernate学习
2009-07-21 13:54 904hibernate多对多的解决Hibernate多对多的例子 ...
相关推荐
"自动生成 Hibernate 映射文件和实体类" 自动生成 Hibernate 映射文件和实体类是使用 MyEclipse 工具来实现的,这可以大大提高开发效率,减少开发时间。下面将详细介绍如何使用 MyEclipse 自动生成 Hibernate 映射...
build.xml 手写自动生成Hibernate映射文件和配置文件源代码
根据实体类生成简单的Hibernate映射文件,对不用Myeclipse的童鞋还是有用
关于hibernate映射和查询,使用MySQL,适合初学者的练习
用来生成hibernate映射文件.从而实现不需手动写入。。。很实用的东东哦。。
常用 Hibernate 映射配置说明.doc
myeclipse自动生成hibernate映射文件
用MyEclipse自动生成hibernate映射文件和实体类
hibernate映射枚举类型,hibernate如何映射枚举类型
用Hibernate映射继承关系
Hibernate映射解析 七种映射关系
Myeclipse生成Hibernate映射文件
Hibernate映射配置实例大全:详细总结了Hibernate的各种映射配置的方法,并逐一举例
Hibernate映射集合属性List,用于映射集合属性 List Hibernate 自动生成表 不需sql
hibernate 映射关系 小结
hibernate 映射关系学习入门 多对多实体映射 源码
hibernate 映射关系学习入门 一对一映射Eclipse源码
hibernate 映射文件 配置分析及要点,你还在为配置hibernate 映射文件而发愁吗?这里总结了它的常用元素及属性。session,SessionFactory的应用