有关为什么使用hibernate、mybatis这类orm框架,今天听到了一个不错的解释。
java是面向对象的语言,在做java项目的时候,编写业务逻辑始终是面向对象的,但是当连接数据库时,就不是面向对象的了,因为sql不是面向对象的。
还需要思想的转换。这会让人感觉很别扭。于是便有了hibernate的orm,对象映射机制。当你写hql的时候,这种优势就会显现出来。hql:from book是说从book实体类中检索它的属性。
而sql则是:select * from t_book。使用hibernate,你面对的不再是数据碎片,而是对象。这样,整个过程就都可以使用面向对象的思想来进行了。