现在只能说看上去很爽,呵呵。
又一次要感谢xiaxin的文章,虽然是2004年9月的,但是感觉不错 :D
在项目中写DAO代码已经比较烦了,连delete这样的操作还需要先将数据加载到实体中,然后才能将这个实体remove掉。我的老天,在hibernate中是这样的么?在ibatis中是这样子的么?在JDBC中是这样子的么?
还要维护一个ORM产品,实际上我们已经没有精力了:)项目组人员本来就不充足,然后还要有专人去维护这个东西,唉,不知道是进步还是退步,是有利于项目开发还是不利于项目开发。
嗯,别的不说了。至少iBatis让我看着比较心动,配置比Hibernate简单,能看到自己写的SQL语句,至少省去了学习Criteria,HQL, EQL等语言的麻烦问题。
以前我们一直非常重视数据库的可移植性,但是事实上我们的客户很少会更换数据库。IBatis对数据库的支持如何我不是很清楚,但是我想,各个数据库的不同也主要就是SQL语句在各个数据库中的执行结果不同,所以,我们可能要针对每个数据库都去调整SQL语句,这样会带来一些维护成本。但是,数据库差别究竟会多么大呢?不知道。如果数据库不是有一百张表,我看是值得的 :)
另外,性能是应用最关注的问题,用Hibernate无疑也能解决这个问题,但是我们得确实精通Hibernate啊,以项目组的实力,不好说。至少在Cache问题上,我认为项目组不是完全精通Hibernate。用iBatis的话,至少我可以直接改sql语句,可以更贴近数据库去做性能的优化。
好了,不多说了。赶紧学是正途。
又一次要感谢xiaxin的文章,虽然是2004年9月的,但是感觉不错 :D
在项目中写DAO代码已经比较烦了,连delete这样的操作还需要先将数据加载到实体中,然后才能将这个实体remove掉。我的老天,在hibernate中是这样的么?在ibatis中是这样子的么?在JDBC中是这样子的么?
还要维护一个ORM产品,实际上我们已经没有精力了:)项目组人员本来就不充足,然后还要有专人去维护这个东西,唉,不知道是进步还是退步,是有利于项目开发还是不利于项目开发。
嗯,别的不说了。至少iBatis让我看着比较心动,配置比Hibernate简单,能看到自己写的SQL语句,至少省去了学习Criteria,HQL, EQL等语言的麻烦问题。
以前我们一直非常重视数据库的可移植性,但是事实上我们的客户很少会更换数据库。IBatis对数据库的支持如何我不是很清楚,但是我想,各个数据库的不同也主要就是SQL语句在各个数据库中的执行结果不同,所以,我们可能要针对每个数据库都去调整SQL语句,这样会带来一些维护成本。但是,数据库差别究竟会多么大呢?不知道。如果数据库不是有一百张表,我看是值得的 :)
另外,性能是应用最关注的问题,用Hibernate无疑也能解决这个问题,但是我们得确实精通Hibernate啊,以项目组的实力,不好说。至少在Cache问题上,我认为项目组不是完全精通Hibernate。用iBatis的话,至少我可以直接改sql语句,可以更贴近数据库去做性能的优化。
好了,不多说了。赶紧学是正途。