毕业设计做到现在,中间改动特别大;起初探索着边学边用Hibernate,把数据库表全部映射好了开始写DAO时发现Hibernate并没有想象中的那么吸引人。首先是效率上,Hibernate3似乎没有deleteById类似的方法,导致删除一个持久化对象要执行两次SQL语句:检索对象,再删除对象(当然前提是从WEB层得到对象的主键);其实就是,对于这类功能强大的OR框架,以我和温さん的目前的能力,是不可能驾驭的,而何况这个毕业设计也估且算个正式项目,时间又很紧。最终决定换用iBatis。这玩意确实容易上手,直接写SQL,但缺点也显而易见:没有级联,没有持久层对象(即PO)的概念,有N+1查询的效率问题,比如客户表有订单外键,表现到PO就是客户对象里有订单对象的属性,做这种情况下的查询时iBatis就没Hibernate方便。目前我也只有这些很肤浅的看法,但似乎Hibernate在大的系统面前确有更好的性能表现,有空了再来好好学一下,毕竟它是OR框架的典范。