我是个巨菜鸟,有好多迷惑,这里的大师们帮我结结惑!

1: struts 是一个mvc框架,hibernate 是数据持久化解决方案,
  struts 和 hibernate 有没有重合的部分呢?
  比如:struts 的model 和 hibernate!
是不是用 hibernate 做 struts 的model!
它们之间的关系是什么?

2:
有一个项目,我不知道用什么持久化解决方案好?
  我不知道客户有没有钱买app server!没钱的,也可能就用tomcat!
  也可能会碰到一个有钱的,会买个weblogic
那我现在的数据持久化方案就要求具有很高的弹性和伸缩性。
  肯定是用dao 了。 打算写一个有钱客户的版本,
session bean + dao + bmp
  session bean + dao + cmp
(我不知道这样行不行?用eb,还需要不需要用dao 呀?)
再写一个穷人的版本。
bean + dao + hibernate
bena + dao + (jdbc&sql)
这四种方式,我想通过配置平滑切换!用什么模式?
  还有这四种方式,我想使用统一的dao 接口?可以做到吗?
  

1.第一个问题请参考Robbin的讨论:
http://forum.hibernate.org.cn/viewtopic.php?t=627

2.你这个问题在Petstore中正好有解答,可以使用一个开关,在实体Bean和DAO之间做转换,这个模式在新版的好像取消了,以前是在fast lane pattern,具体代码在
com.sun.j2ee.blueprints.catalog.client.CatalogHelper中可以找到。

回覆第二

你要的 "DAO" 其不算是 DAO Pattern. :P

如果你一a品之中要存在四不同的版本
分e support CMP / BMP / DAO / Hibernate

那NPIc就是要定x一通用的 DAO method.
透^ Helper 或 Assembly pattern 去①Y料砗驼.
另外我建h你裼 xml 的方式聿糠 configuration

不^以我的
@幼龅慕Y果通常淼男б娣浅5
而且效能上o法表F出各的c
反而相互拖累