Laurence的技术博客

// 风尘仆仆,终有归途

一对一映射的三种方式以及对lazyload的特别关注

  一对一映射几乎涉及了所有可以使用的映射方式:共享主键、外键和关联表。每一种方式都有相对特定的使用场合。而与此同时,one-to-one关系的 lazy loading总是一个让人非常疑惑的问题,下文在介绍每一种一对一映射方案的时候也会对lazy loding的问题做一个说明。 一.共享主键方...

2010-11-19 13:39:00

阅读数 8764

评论数 0

共享主键、外键、关联表在表达对象关联关系时的微妙语义差别

      外键作为一种做用在表上的参照性约束,自然是要求表中所有纪录必须遵守此约束,而如果允许外键列为空,那就等同打开一个扇后门,允许某些数据不必遵守这一约束。这是与外键的初衷是相违背的。如果说:两张表之间的数据存在一种“部分”参照关系,也就是说的如果A表中有部分数据是需要参照B表中的数据,而有...

2010-11-17 23:24:00

阅读数 5888

评论数 0

关于关系运算的一种简短描述

<br />      一个查询就是要得到一组满足一定条件的数据项(列)。数据项可能全部来自于一张表,也可能来自多张表,这就需要在from子句中通过表关联把各表拼接在一起。拼接过程中所有数据依然要维持二维表格结构,这样,拼接后的结果集在水平方向上是多表的并排在一起,在垂直方向上则会出现...

2010-11-16 14:35:00

阅读数 4685

评论数 0

使用hibernate-tools时出现java.lang.NoSuchMethodError:net.sf.ehcache.config.CacheConfiguration.isTerracottaClustered()错误

<br />使用hibernate-tools时出现java.lang.NoSuchMethodError:net.sf.ehcache.config.CacheConfiguration.isTerracottaClustered()错误,具体异常是:<br /> ja...

2010-11-16 11:55:00

阅读数 10606

评论数 2

为什么聚集函数不能出现在where子句中

这是一个很有意思的问题,仔细地想一下其实很有道理。我们知道,聚集函数也叫列函数,它们都是基于整列数据进行计算的,而where子句则是对数据行进行过滤的,在筛选过程中依赖“基于已经筛选完毕的数据得出的计算结果”是一种悖论,这是行不通的。更简单地说,因为聚集函数要对全列数据时行计算,

2010-11-15 23:12:00

阅读数 15241

评论数 5

应用服务和领域服务

<br />      在领域驱动设计中,service有两种:领域服务和应用服务,单纯从它们的定义来看,两者很容易区分,前者是与业务逻辑密切相关的服务,往往处理复杂的业务请求。后者则是面向应用角度的一些支持功能,与业务本身并无太大关联。一些典型的应用服务有:发送电子邮件通知用户,对密...

2010-11-15 11:16:00

阅读数 7144

评论数 3

Struts2的checkbox标签

html中的checkbox标签有一个特殊的地方,如果一个checkbox未被选中,那么它将不会出现在请求参数中。比如如下的例子:submit (补充说明:对于checkbox,如果没有显式地指明value值,那么它会有一个默认值“on”) 当我们同时选中option1和opti

2010-11-04 18:36:00

阅读数 16566

评论数 1

大道至简--关注点分离

<br />      我想所有软件开发中的方法论发展至今,最为精辟与重要的大概非“关注点分离”莫属了。面对一个复杂的系统,从宏观上进行梳理和划分,把职责与作用相近的归结在一起,不相近地尽量地隔离,从而将系统的复杂性逐一分解,形成一个一个职责单一,可以相对独立地关注和研究的聚集。这也正...

2010-11-03 23:00:00

阅读数 5682

评论数 1

Collecting Parameter模式

<br />  作为一种不太常被提及的设计模式,Collecting Parameter并太为人所熟知。我对这一模式的认识最初来自《JUnit In Action》一书2.4节对TestResult的介绍。JUnit中的TestResult就是Collecting Parameter模...

2010-11-03 13:51:00

阅读数 4989

评论数 0

不要主动地去对立对象模型和关系模型,而是要使之融洽相处,物尽其用

<br />使用对象模型求解复杂业务问题,使用关系运算高效地读取和操作数据,我们不应该把两种编程范式看作是水火不容的对立者。即使在一个构建了完美领域模型系统里,通过一条简单的SQL直接得到某个表格需要展示的一组数据也不是什么大逆不道事情吧?总之物尽其用,各扬其长吧,这才是聪明人的做法。

2010-11-01 19:05:00

阅读数 4230

评论数 0

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