由面试所引发的对JPA/Hibernate和MyBatis的争论

这是java业界的衔接数据库的最流行的架构,如果一起否定,必然引起一片口水战。

对于复杂的业务逻辑,JPA/Hibernate应付起来比较容易陷入别扭和不够优雅。这句话放到MyBatis一样适用。

对于复杂的应用,MyBatis在配置文件中提供了拼接sql语句的功能,那么重点就在于此。

[b]拼接sql属于业务逻辑范畴,MyBatis在XML配置文件中实现业务逻辑,在本该仅仅保存数据的XML文本中实现算法,无论如何都不是事情该有的模样。[/b]

这个问题我一直都在思索,这几天面试屡屡和面试官在面试过程中触及到。但都未深入,或许面试官对此不感兴趣,或许面试官并未过多思考这个问题。

这就是我一直不用ORM或者MyBatis的原因,我都是用自己实现的中间件。

我认为对于我即将接手(已经拿到offer)的略大略复杂项目,应该[b]将获取sql语句的业务逻辑封装为一组接口,而接口的具体实现单独打包灵活插接[/b]。实现解耦并顺带实现跨数据库。

顺带发个牢骚
请不要用不太涉足过软件架构的程序员来面试打算应聘涉及架构岗位的应聘者。这是对求职者的不尊重。
请不要用极为初级的基础知识笔试试卷来考察应聘者的软件架构水平,尤其是涉及具体框架,因为对于具体某种应用场景,这个世界上可能有无数精妙无比的替代架构方案,而我们可能从来未曾听说,而每个程序员都有他自己的对软件架构的或优雅或笨拙的理解。很可能的情况是,笔试所考察的框架对于应聘者来说可能已经在很多年前就摒弃和没再使用过。
对于以上情况,我希望以后如果在面试中遇到,我转身就走。


[b]具体架构思路[/b]
我的java web架构方案 [url]http://afadgaeg.iteye.com/admin/blogs/2395132[/url]
在文章的后半部分

[b]最新相关阅读:[/b]
用户分组权限管理模块的设计 [url]http://afadgaeg.iteye.com/blog/2395507[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值