而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate HQL语句的调优需要将SQL打印出来,而Hibernate的SQL被很多人嫌弃因为太丑了。但Hibernate具有自己的日志统计。Mybatis本身不带日志统计,使用Log4j进行日志记录。出现这种情况的概率较小。一级缓存需要对Session进行严格管理。Hibernate二级缓存是SessionFactory级的缓存。内置缓存中存放的是SessionFactory对象的一些集合属性包含的数据,对于应用程序来说,它是只读的。二级缓存称为进程级缓存或SessionFactory级缓存,它可以被所有session共享,它的生命周期伴随着SessionFactory的生命周期存在和消亡。

java中mybatis和hibernate的用法总结

java中mybatis和hibernate的用法总结