路漫漫,水迢迢

八十一难拦路七十二变制敌

精通Hibernate——映射组成关系

建立域模型与关系型数据模型有着不同的出发点。域模型是由程序代码组成,通过细化持久化类的粒度提供代码可重用度,简化编程。关系数据模型由关系数据组成。存在数据冗余的情况下,需要把粗粒度的表拆分为具有外键参照关系的几个细粒度表,从而节省表的存储空间;另一方面在没有数据冗余的前提下,应尽可能减少表的数量,...

2015-08-31 16:53:05

阅读数:767

评论数:0

精通Hibernate——Hibernate使用触发器需要注意的两点

数据库系统有时会利用触发器来完成某些业务规则。触发器在接收到特定的事件时被激发,执行事先定义好的一组数据库操作。能激发触发器运行的时间可以分为以下几种: 1.插入事件,insert 2.更新记录事件,update 3.删除记录事件,delete Hibernate与数据库中的触发器协同工作...

2015-08-29 19:34:36

阅读数:3496

评论数:0

精通Hibernate——级联操纵对象

当我们加载一个类时session会加载所有和该类直接关联或者间接关联的对象。 在对象关系映射文件中,用于映射持久化类之间关联关系的元素,如、和元素,都有一个cascade属性,他用于指定如何操纵与当前关联的对象,他的可选属性如下: none:在保存、更新或删除对象时,忽略其他关联的对象,他是c...

2015-08-29 17:23:33

阅读数:699

评论数:0

精通Hibernate——Session的保存、更新、删除和查询

session的save方法 使一个临时对象变为持久化对象。 session的save方法完成以下操作: 1、把customer对象加入到缓存中,使他变为持久化对象 2、选用映射文件指定的标识符生成器为持久化对象分配唯一的OID。Customer.hbm.xml文件中id元素的 子元素指...

2015-08-20 19:18:01

阅读数:1046

评论数:0

Spring学习笔记——Spring事务只对运行时异常回滚

我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚,岂不知Spring的事务默认只有在发生运行时异常即:RunTimeException时才会发生事务,如果一个方法抛出Exception或者Checked异常Spring的事务并不会回滚。 下面我们来看看异常的分类,异常一般分为Che...

2015-08-20 18:34:58

阅读数:3335

评论数:0

深入理解JVM:垃圾收集器与内存分配策略

堆里面存放着Java世界几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还存活,哪些已经死去。判断对象的生命周期是否结束有以下几种方法 引用计数法 具体操作是给对象添加一个引用计数器,每当有一个地方引用时,计数器的值就加1,;当引用失效时,计数器就减1;任何...

2015-08-18 20:05:03

阅读数:834

评论数:0

精通Hibernate——Hibernate中Java对象的状态详解

Hibernate中对于要持久化的Java对象在他的生命周期中需要经历以下几种状态: 1、临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于session的缓存中。处于临时状态的Java对象被称为临时对象。 2、持久化状态(persistent):已经被持久化,加入到...

2015-08-13 19:15:55

阅读数:1190

评论数:0

深入理解JVM:OutOfMemory实战

除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(OOM),下面我们来详细分析。 Java堆溢出 Java堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制来清除这些对象,那么对象数量到达最大堆容量限制...

2015-08-13 18:24:11

阅读数:1063

评论数:0

精通Hibernate——理解HibernateSession缓存

如何希望一个Java对象一直处于生命周期中,就必须保证至少有一个变量引用他,或者在一个Java集合中存放了这个对象的引用。在session接口的实现类SessionImpl中定义了一系列的Java集合,这些Java集合构成了session的缓存。例如:private final Map entit...

2015-08-12 19:38:53

阅读数:672

评论数:0

深入理解JVM:HotSpot虚拟机对象探秘

对象的创建 java是一门面向对象的语言,在Java程序运行过程中无时无刻有Java对象被创建出来。在语言层面上,创建对象(克隆、反序列化)通常是一个new关键字而已,而在虚拟机中,对象的创建过程如下: 1、当虚拟机遇到new指令时,首先将去检查这个指令参数是否能在常量池中定位到一个类的引用符...

2015-08-11 19:17:17

阅读数:1879

评论数:2

深入理解JVM:JVM运行时数据区域分类

JVM在执行java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途和创建、销毁时间。有些区域随着虚拟机的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范1.7》规定,Java虚拟机所管理的内存分为以下几个区域: 程序计数器、J...

2015-08-09 19:43:49

阅读数:1741

评论数:1

精通Hibernate——Java对象在JVM中的生命周期

当应用程序通过new语句创建一个对象时,JVM会为这个对象分配一块内存空间,只要这个对象被引用变量引用,他就一直存在在内存当中。当这个对象不被任何对象引用的时候,他的生命周期就意味着结束,JVM会在适当的时候回收这个对象。下面通过代码来演示下生命周期:Customer c = new Custom...

2015-08-05 19:27:13

阅读数:744

评论数:0

精通Hibernate——映射一对多双向自身关联关系

首先我们来看下图: 每种商品类别代表一个Category对象,每一个Category可以和父列表关联,同时也可以和子类别关联,为了表达这种一对多的双向自身关联关系可以在Category类中定义两个属性: parentCategory:引用父类别对象 childCategories:引用一...

2015-08-05 19:24:48

阅读数:860

评论数:0

ExtJS的定时调用函数

<link rel="stylesheet" type="text/css" href="<%=basePath %>/ext-3.4/resources/css/ext-all.css"> <scr...

2015-08-05 19:21:30

阅读数:2000

评论数:0

精通Hibernate——建立双向一对多关联

当类与类之间建立了关联,就可以方便的从一个对象导航到另一个对象或者一组与他关联的对象。 对象位于内存中,在内存中从一个对象导航到另一个对象显然比到数据库中查询数据速度快多了。类与类之间到底建立双向还是单向都是由业务决定。以Customer和Order为例,如果软件应用有大量这样的需求: 根据客...

2015-08-04 19:43:09

阅读数:526

评论数:0

ExtJS的document使用

<script type="text/javascript"> // document是最重要的window对象,有了document对象引用可以操作HTML页面中所有元素 Ext.onReady(function(){ ...

2015-08-04 17:19:25

阅读数:1024

评论数:0

ExtJS的History使用

// 窗体对象有个记录历史的对象——history,使用这个对象可以实现上一页、下一页等效果。 // 例如:history.go()下一页,history.go(-1)上一页 // 在使用Ext.history之前,必须现在页面中放置一个表单元素,可以直接将HTML...

2015-08-04 17:16:27

阅读数:1437

评论数:0

Pdf与Base64编码之间的转换

在我们的工作有时候我们需要将图片或者pdf文件转换为Base64编码,然后从服务器端下载传输到本地,在这里我列举下两者之间的转换方法: Base64编码转换为pdf:/** * Description: 将base64编码内容转换为Pdf * @param base64编码...

2015-08-03 22:09:25

阅读数:16317

评论数:0

提示
确定要删除当前文章?
取消 删除