查找别人所写文章,感觉下面的思路比较更深入化,写在这儿用以做记录。
对于数据的操作,hibernate是面向对象的,而MyBatis是面向关系的
面向对象致力于解决计算机逻辑问题,而关系模型致力于解决数据的高效存取问题。
我们不妨对比一下面向对象的概念原则和关系型数据库的不同之处:
面向对象考虑的是对象的整个生命周期包括在对象的创建、持久化、状态的改变和行为等,对象的持久化只是对象的一种状态,而面向关系型数据库的概念则更关注数据的高效存储和读取;
面向对象更强调对象状态的封装性,对象封装自己的状态(或数据)不允许外部对象随意修改,只暴露一些合法的行为方法供外部对象调用;而关系型数据库则是开放的,可以供用户随意读取和修改关系,并可以和其他表任意的关联(只要sql正确允许的情况下);
面向对象试图为动态的世界建模,他要描述的是世界的过程和规律,进而适应发展和变化,面向对象总是在变化中处理各种各样的变化。而关系型模型为静态世界建模,它通过数据快照记录了世界在某一时候的状态,它是静态的。