非常感谢各位道友,给大家拜年了!年后去上海发展,Bang老大也许我可能会见到你噢!呵呵,如果搞定上海那边的工作话,那家公司和您比较熟悉!

从SQL变成java code,某种意义上说,我以为是一种退步

SQL是不折不扣的4GL语言,面向结果,你需要说的是我要得到什么,至于怎样得到,不用关心。

数据->persistent framework->java对象->域对象->发明某种脚本操纵域对象->面向非程序员的域语言

这条业务逻辑的java道路发展下去,理想状态下,你会发现你又发明了一种面向结果的语言
而这本是SQL直接可以提供给你的。

拿Oracle PL/SQL来说,花两个月的时间,可以将一个大学毕业生训练成合格的PL/SQL程序员,能写出精炼、规范、高效、易于维护的PL/SQL过程。如果用java来实现,呵呵...

seacat 的想法很有代表性,从另外一个角度来说:恕我直言,我想这也是被数据库厂商过分扭曲的结果。

>能写出精炼、规范、高效、易于维护的PL/SQL过程
对于一个复杂SQL能够易于维护,我想这是谎言,首先,我举一个我实践中的例子:
看看这个帖子里面的多表查询语句:

http://www.jdon.com/jive/thread.jsp?forum=61&thread=25666

它涉及用户表 和两个模型表等三个表,如果需求变动,需要实现统一的用户认证,用户表可能要移植到其他数据库或LDAP中,那么物理位置的搬动就造成程序代码的修改,如果用Java实现,软件就不必动了。

SQL是一种数学符号,属于脚本性质,说白了它就类似密码,虽然精简,但是不是每个人都能准确理解其意思,这是生活基本概念。

当然SQL语句有其数学优点(偏理),面向对象是以人的逻辑思维思考世界(偏文),因此两者角度不一样,各有优缺点。