`
sean_gao
  • 浏览: 231091 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
先简单介绍一下问题的语境。 手头有个开发了3年的Spring+iBATIS应用(经典三层架构),最近尝试用Hibernate实现原有SQLMap版的部分CRUD操作。除开混合事务和其他一些底层配置细节(如TransactionAwareDataSource、禁用lazy-load等)之外,最大的一个"pattern-mismatch"是:Model层和持久层采用了dirty flag机制,即每次INSERT和UPDATE操作,都会根据每个字段的dirty与否决定是否参加INSERT/UPDATE,而这些dirty flag可以被外部重置,所以业务层的代码,经常可以看到类似 ...
如果你使用早前版本的Spring,又恰好采用了Annotation注解方式(而非传统XML方式)配置Hibernate对象关系映射,那么在通过org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean配置sessionFactory时,你一定对annotatedClasses、annotatedPackage ...
在Unix环境下,命令行或者shell中sleep和kill是常见的动作,在Windows的.bat文件中处理类似的任务就不那么直接了,备忘如下:[sleep]ping 127.0.0.1 -n 需要的秒数+1 -w 1000 > nul[kill]taskkill /f /im "进程名(如notepad.exe)"taskkill /f /fi "WINDOWTITLE eq notepad*"其中/f表示强制,/im表示image镜像名(可执行文件名),/fi表示filter,后面跟表达式,比如这里的"窗体标题等于notepad*&q ...
有时我们需要动态的确定当前采用的Python运行时环境对应的site-packages目录,在Python代码中,可以这样做:from distutils.sysconfig import get_python_libprint get_python_lib()备忘。
从某种意义上讲,easyb就是Groovy版的RSpec,是一个基于"BDD: Behavior-Driven Development"思维方式的测试框架。其作者Andrew Glover是《Groovy in Action》一书的合著者之一。项目的主页在:http://easyb.org/不多废话了,上代码,一个story大概长成这个样子(为了方便大家理解,举一个无比弱智的例子):scenario '1+1应该等于2', {    given 'a和b分别等于1', {      a = 1      b = 1    }    when 'c是a+b的和', {      ...
1年多以前的2007年11月,著名的钢琴家Alfred Brendel对外宣布了告别演出的日期和地点:2008年12月18日,维也纳金色大厅。瞧我这记性,今天才想起来。 有趣的一个细节是,告别演出上,Brendel的选曲是Mozart的9号降E大调钢琴协奏曲,"Jeunehomme" ("Young Man")。 最近听得最多的,是Brendel演绎的Brahms的1号钢琴协奏曲,虽然不是他最最擅长的Beethoven、Schubert和Mozart,但已经相当精湛传神。 4天以后是大师78岁诞辰,按照中国习俗,提前祝贺一声,生日快乐!大师走 ...
老家有个俗语,叫"嗲言",大致的意思接近"矫情的文字和语言",2008年就要过去了,有些按捺不住,要发点"嗲言"。08年发生了很多大事,不论国内还是整个世界而言,都是"多事"的一年。对我来说,最大的一件事,应该就是Tony的降生:经过大半年的期盼,和最后半个月全家紧绷的神经,小家伙终于呱呱坠地了,我也名正言顺的升级为老爸。回顾过去一年的学习和工作,几乎想不出有什么亮点,感觉自己的时间被各种事务瓜分的七零八落,原本的学习计划和想要做的"大事",也都很难一一实现。公司原有团队核心人员从07年下半年到0 ...

摆脱iTunes (续)

本篇是上一期《摆脱iTunes》的续篇。话说通过openSUSE 11.1下的Banshee播放器重建iPod的iTunesDB后,Podcast和Artwork丢失。后来试用中还发现一个问题,那就是Banshee不能很好的支持修改iPod上现有媒体的元信息。不甘心,找来gtkpod,版本0.99.12,发现还真的是Banshee自己的问题:在gtkpod下,可以很完美的对iPod现有媒体文件进行修改,比如更改专辑名称、艺术家信息等,甚至连封面artwork都能编辑了,呵呵,爽。希望能给有类似困惑的朋友一个参考。
总算逃出iTunes的魔掌了,叹口气,感慨一下。自从去年(07年)购进一台iPod Classic开始,iTunes就成了我生命中无法割舍的一部分,不是因为它好,而是没办法,离开iTunes,我无法给我的iPod添加和删除媒体文件。用过iTunes你就知道,很多东西虽然看上去比较眩,但操作起来,蹩脚的让人难以忍受,视频播放性能也很差,兼容度不够不说,自己的格式经常也是卡卡的。如果说上面的这些问题都还能够克服,让我最不能接受的是,iTunes没有for Linux的版本。这一年多以来,辗转于Ubuntu、Arch Linux、openSUSE,一直都被Apple/iTunes歧视。看到这里你也许会 ...
周末花时间看了Rick Evans在London Spring User Group (LSUG)关于Spring 3.0介绍的视频,地址在这里:http://java.dzone.com/videos/a-look-forward-spring-30根据Rick的介绍,Spring 3.0将于明年2月中旬正式发布,其中比较重要的两个亮点是:1- JDK 5将成为Spring 3.0的最低要求,因此很多遗留代码得以重构,更加清晰;2- 引入了新的Spring Expression Language (SPEL)用于描述XML和Annotation中的配置信息。(Rick还用了大量篇幅介绍Spri ...
今年发生了太多的事,圣诞节是年底前最后一个重要节日了,公司置办了一棵圣诞树,下班的时候,路过教堂,看见里面很多的人,心想,真的是过节了,是不是应该开心些才对。最近也不知道怎么回事,总是有些郁郁寡欢,身心疲惫,没有所谓的节目,也没有所谓的心情,只有不断的学习和工作。有时候想想,一个人如果要求太高,其实也挺累的,自己累,别人也累,不是么?问题是,多高才是"太"高呢?如果你和我一样,这个时候还对着电脑,试试对自己说:停下来,喘口气,收拾一下疲惫的心灵,要准备迎接明年的挑战喽!
就在数分钟之前,openSUSE 11.1正式release了,主要的新特性包括:Linux Kernel 2.6.27.8rc1GCC 4.3.2glibc 2.9X.Org 7.4Virtual Box 2.0.6 PostgreSQL 8.3.5MySQL 5.0.67Eclipse 3.4 gtk+ 2.14.4Python 2.6.0Ruby 1.8.7Perl 5.10.0Mono 2.0.1Qt 4.4.3PHP 5.2.6openJDK 1,2b11KDE 4.1.3 + 3.5.10Firefox 3.0.4OpenOffice 3.0KOffice 1.6.3Mono 2.0 ...
初学PostgreSQL的朋友可能会有这样的疑惑:如何重命名已经建好的数据库?因为PostgreSQL默认的客户端pgAdmin III并没有地方可以让我们去修改某个现有的数据库的名称。遇到这个情况,可能不少人选择了backup -> drop -> create -> restore的方法,其实大可不必。首先,确保没有用户连接到需要改名的数据库,包括你自己。你可能会问,我不连上去,怎么执行更名的命令呢?其实连到其他数据库,比如默认的postgres维护数据库即可。然后,执行下面的语句,假定你要更名的数据库现在的名称为abc,希望更改成cba:ALTER DATABASE ab ...
提示: 流水账+非技术贴,赶时间的朋友请跳过。 最近一段时间以来,家里的PC(平时也就是给老爸老妈玩玩游戏看看股票什么的)开机状态下声音狂响,运行一些高CPU消耗的程序时有死机(直接跳掉关机)。实在不胜其扰 ...
在Python 2.6发布两个月后,Python 3.0正式release了。Download: http://www.python.org/download/releases/3.0/What's New:http://docs.python.org/whatsnew/2.6.html#python-3-0
Global site tag (gtag.js) - Google Analytics