Tin's Blog

You are coming a long way, baby~Thinking, feeling, memory...

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  128 随笔 :: 0 文章 :: 221 评论 :: 0 Trackbacks

#

     摘要: 先分析一下在轻量化的Java EE下面他们存在的意义:
1、有的人说过在Web项目中Manager和DAO是同意的,尤其是在透明ORM存在下,DAO由于往往是CRUD的实现场所,而Manager却往往是薄薄的一层门面,很多人就在质疑两者的合并问题。可是robbin曾经进行过一个精辟的分析,虽然两者做的看起来差不多,可是两者的事务属性却不一样,Manager应该有清晰的事务界限,而DAO不应关心于此。也就是说Manager可能会将几个DAO方法组合调用,然后封装在一个事物中。这样说明确了两者的一个重要区别,我们也能体会在使用声明事务的时候有一个分明的事务界限是很有意义的,否则就有可能把Manager中的一个事物拆分,这样实际上就错误了。
2、有些人质疑透明ORM存在的情况下DAO存在的意义,因为透明ORM基本已经隔离了不同数据库的方言区别。这个也很简单,Rod大叔分析过。透明ORM存在的情况下DAO起到了隔离透明ORM与EJB或者JDBC实现的作用,这几种实现实际上是应该考虑到的。
3、还有一个问题,就是DAO是否应该隐藏透明ORM的API。因为前面说到了DAO起  阅读全文
posted @ 2006-09-05 21:52 Tin 阅读(3630) | 评论 (3)编辑 收藏

     摘要: 今天TSS和InfoQ都转了一篇Spring与EJB3的读后感,我就看了下,标题和介绍满吸引人的。内容嘛其实有点不过瘾,但是先记录下来吧。
http://www.devx.com/Java/Article/32314/0/page/1
总的来看Spring+Hibernate与JPA很相似,它们都是基于pojo的持久化。
Hibernate Session和JPA Entity Manager基本上等价,但是要记住他们的两个重要区别。Hibernate session是一个实体缓存也是一个ORM引擎的接口。而JPA中这两个概念是分开的。Persistence context作为缓存而entity manager则作为ORM引擎的接口。…………  阅读全文
posted @ 2006-09-04 20:45 Tin 阅读(4248) | 评论 (1)编辑 收藏

     摘要: 在Eclipse里面运行functional-test这个target的时候发现报错(test target叶出错的):
Could not create task or type of type: junit.
我就想当然的把junit-3.8.1.jar拷贝到我的%ANT_HOME%/lib下面了,结果问题依旧。
......
解决方法目前看最好的就是在Eclipse的Window->Preferences->Ant->Runtime->Classpath里面Ant_Home你指定一下就可以了,可以是你自己的Ant或者Eclipse/plugins里面的ant,这没关系,然后它就会自动扫描相应/lib目录了(之前你应该已经把junit-3.8.1.jar拷贝过去了)。
然后就搞定了。注意,只有在Eclipse运行Ant才有可能遇上这个问题:D
  阅读全文
posted @ 2006-08-31 13:02 Tin 阅读(1469) | 评论 (0)编辑 收藏

     摘要: 由于失业后家中又有人病了,还有很多乱七八糟的事忙,反正没怎么写也没怎么看程序,很惭愧!有朋友说不厚道,赖我,我不厚。这两天看《应用Rails进行敏捷Web开发》,RoR和去年刚看的时候感觉一样,很舒服,现在可能对Java和Ruby的了解都比以前深一些了,看这本书会有些想法。不过没时间纪录,头脑里也乱七八糟的,我只能说是胡言乱语。这本不是什么文章,这是我的一个工作习惯,只要开电脑就开个Notepad记录工作情况,是个流水账,由于Blog过于冷清,把它贴出来,别拍砖了,我已经蔫了:Q  阅读全文
posted @ 2006-08-30 12:39 Tin 阅读(1074) | 评论 (0)编辑 收藏

     摘要: 今天先看看Springside的bookstore的domain设计,这不是springside的重点,先看看。
从hbm看起,在springside-bookstore/src/org.springside.bookstore.commons.domain.hbm下面放着这些hbm。
在Order.hbm.xml里面可以看到一个list映射。list映射可以按照顺序持久化one-to-many关系。使用了映射后OrderItem就没有单独的class声明了,完全以一种组件的形式被映射到Order里面。  阅读全文
posted @ 2006-08-30 12:30 Tin 阅读(2431) | 评论 (3)编辑 收藏

     摘要: 1、Java从语言转向平台。如同.Net,JVM本身提供了平台的抽象。将会扩展动态语言与脚本语言的支持。
2、企业应用的开发过程将简化,如MDD一类,但目的是集中精力开发商业逻辑,而不是纯简化代码或者什么什么。小型应用可能会转向动态语言或脚本语言所营造的舒适开发框架,如RoR,或其它Rails。
3、富领域模型替代贫血模型,基于JPA。
4、目前的AOP、IoC工具依然会流行,而不一定会限定于EJB3模型中。事实说了算,Spring这种事实性标准影响力还是很大的。
5、分布式的考虑,可伸缩型问题凸显。如何透明实现分布式是个关键性问题,AOP是技术契机。
6、Web2.0会产生巨大影响力,但Java绝不是唯一选择。Java要找好自己的位置,同时在平台上最好能够更多的融合,如让JVM支持PHP/Ruby/Python。
7、Web部分竞争激烈,并会持续。EJB3的JSF命运难测。看Web2.0的浪潮了。  阅读全文
posted @ 2006-07-10 14:09 Tin 阅读(1895) | 评论 (2)编辑 收藏

posted @ 2006-06-06 11:28 Tin 阅读(4601) | 评论 (3)编辑 收藏

     摘要: WebWork的result实现非常实用,它很好的解决了View渲染的灵活性问题。这才是MVC模式的优势所在,而像JSF那样帮定JSP的MVC就吃不到这个甜头了。说WebWork2是Model 2 MVC的巅峰就在这些灵活的地方。
闲扯这个不是主要目的。现在Rome是Java下最常用的RSS包,最近消息似乎要转入Apache的Abdera合并变成更强大的聚合引擎。用Rome生成和解析RSS都很方便。今天讨论一下使用ROME给网站生成RSS,并通过WebWork2的Result机制渲染。
最初是从WebWork的Cookbook上看到的RomeResult的文章,一看就会,我这里其实不过是举个详细点的例子,注意我使用的是WebWork 2.2.2和Rome 0.8:  阅读全文
posted @ 2006-06-05 22:25 Tin 阅读(3361) | 评论 (7)编辑 收藏

posted @ 2006-05-24 09:54 Tin 阅读(771) | 评论 (0)编辑 收藏

     摘要: 在Hibernate中获取有关联关系的pojo。我是指例如一个User(用户)拥有一个many-to-one的属性Unit(单位),但是有时有些用户的Unit属性为空,如果按单位查询用户的时候那些单位为null的用户就会被遗漏,如何调取呢?这本来是很简单的,但是我想当然的使用了Restriction.eq,但是不行,后来看了手册才发现应该使用Restrictions.isNul。下面是Test代码...  阅读全文
posted @ 2006-05-11 13:09 Tin 阅读(2368) | 评论 (0)编辑 收藏

列出全部内容
共6页: 上一页 1 2 3 4 5 6 下一页