读书的主动性

昨天在搜《德川家康》时看到一个评论,大意是说山冈庄八写的版本太拖沓,算不上什么经典,而且柏杨的序里对这本书评价也过高,有误导。
不可否认,这部《德川家康》是很拖沓,也是日本人一贯的风格 – 毕竟人家是靠连载赚钱的?像《足球小将》《火影忍者》不都是这样么。当然漫画不能和历史小说比。但小说最好是让不同的人从中看到不同的东西,但看书的人也 不用全盘接受作者的风格,如果觉得拖沓,那就跳过那些拖沓的情节咯。也就是读书也要有点主动,不要只知被动的接受,然后觉得风格有问题还去埋怨作者。这也 太自我中心了。缺少同理心和主动性 – 这种人的结果大概会变的“刻薄,尖酸”。
话说回来,我昨天还和同事调侃 – 看了第一部《德》都不知道德川家康是谁(还是八岁的竹千代)…
Powered by MoFire

from SQL to HQL

首先一点就是用HQL作的是对象查询,而SQL是表查询.如果把表看成一个独立的二维数组的话,那么对象因为在一开始就被OR-mapping了,在做HQL查询时一定要避免SQL思维.(其实这种”避免”经常遇到).

可以这么理解,hibernate在做对象关系映射(or-mapping)时已经将表之间的关联确定,所以在遇到SQL里连表的情况时(如, a.clientId = b.clientId…),就要看对象映射时是否已经确定了这两个表之间的关系(one-to-one,one-to-many,单向还是双向).举个例 子.

SQL:

select
a.Client_ID,
a.User_Reference,
a.Long_Name,
b.Securities_ID,
b.User_Reference,
b.SECURITIES_TYPE,
b.Long_Name,
c.Mapped_ID
from
CM_M_Clients a,
CM_M_Securities b,
CM_M_Securities_ID_Mappings c,
CM_T_Portfolios d
where
a.Client_ID = d.Client_ID and
b.Securities_ID = d.Securities_ID and
c.Securities_ID = b.Securities_ID and
c.Securities_Domain = ‘SEC ID MAPPINGS’ and
c.Subject = ‘ISIN’ and
d.Portfolio_Date = to_date(’03/26/2008′,’MM/DD/YY’) and
a.Client_ID = ‘50′ and
b.securities_ID = ‘600′

在”翻译”这个SQL语句的时候,首先看:

a.Client_ID = d.Client_ID and
b.Securities_ID = d.Securities_ID and
c.Securities_ID = b.Securities_ID

这 几个连表操作说明了四个表之间的关系, 之后我们要看的是四个对象是如何被映射的,也就是对象之间存在什么样的关系.(我这里的假设是-你不是很清楚对象之间是怎么映射的),通过看hbm或者annotation,我们发现对象之间的关系是:

( 四个对象: Security, SecurityIdMapping,Client, Portfolio)

Security – SecurityIdMapping: 双向一对多
Security – Portfolio :单向一对多(portfolio有一个security的外键)
Client – Portfolio:单项一对多 (portfolio有一个client的外键)

分析之后发现portfolio是最关键的,所以顺着他就得到HQL:

select *
from Portfolio p,
left join p.security.mappings m
where m.securityDomain = ‘SEC ID MAPPINGS’
and m.subject = ‘ISIN’
and p.portfolioDate = %date
and p.client.id = ‘50′
and p.security.id = ‘600′

注:这里要根据实际情况来 看,如果 Portfolio对象同样包含多个Client或者Security的话,也要一样用left join.这里的情况比较奇怪,如果Portfolio的Client和Security都只有一个的话,在mapping市应该是通过 外键ID直接映射(@joincolumn(name=”clientId”)).那么最后的两个条件都不用了.总的来说还是要根据实际情况来分析.

目前没有看到比较好的SQL到HQL的工具,所以如果不明白对象模型及OR-mapping,要做这件事还是有点麻烦的.因为通常写详细设计的人只写(一定是)SQL而不是HQL.

准备重写MoFire

使用j2me-polish来优化界面,简化一些功能(使用单一设置,去掉声音上传)。今天还试用了一下wavelog,感觉还不如我的MoFire 好用。ok,开始研究j2me-polish。

看了一些jp的example代码,感觉很“神奇”,是一个很强大完整的framework – 为什么没有早发现他呢?今天差点要用j4me来重写UI了。还好很偶然的发现了jp. 把MIDlet和css组合起来的想法,犀利呀!!!

瞎格倒

<可早以前写在msnspace上哦的>
蛋儿,可可,蕾蕾,小贝,小便,三皮,勺勺,联崽,黄达赖,蜂儿,杰大离,梁子,驴,老高,老耿,贱鲁。。。你们一群各跑现在都挺好的哇,去年过年的时候也有的人没见上,以后怕是更少下蓝。
希望大家能尽可能作到在遵纪守法的前提下多闹票票,没早下对象的赶紧早个好女女/好小小,办了的抓紧时间在不影响红火的前提下培育下一代,有了下一代的就不要成天喝烧酒打麻架红火的甚也顾不上兰,不要让下一代在起跑线上就不烂倒。
我这现在还就是原来的进气 – 年米杏眼还牛比烘烘,日子过的挺好,挺充实。就是有时候定萌就想起来你们蓝,想起那咋会儿在学校时候蓝。真是快的,转眼到都是成家立业的人蓝。

在力歌茶餐厅看到蔡少芬

一开始在门口排队 边打电话,忽然蔡少芬就从里面出来了,瘦瘦高高的,我。。保持镇静(因为旁边的香港人都还比较镇静,要不就是没看出来),但还是目送她开车离开,呵呵来香港这么长时间还是头一次看到明星。刚上网查了查居然身高173,怪不得。哈哈

顺便贴个蔡少芬的博客

http://blog.sina.com.cn/adachoi