mybatis跟hibernate的区别

mybatis和hibernate的区别
我刚学到mybatis和hibernate,知道这都是在持久层的对数据库的操作,但是这两个框架到底有什么区别呢?求指点。
------最佳解决方案--------------------
mybatis 半自动,要写SQL,设定字段与列对应关系
hibernate 全自动
------其他解决方案--------------------
Hibernate需要有java类与数据库映射。也就是每一张表都要有对应的java类与之对应。

MyBatis把要执行的SQL语句配置到xml文件中,并给每个SQL语句一个ID,放入SQLMap中,然后通过ID执行语句,与Hibernate相比它不需要java类与数据库表对应。
------其他解决方案--------------------
Mybatis不就是在SQLMap中建立了POJO与表之间的映射关系吗?