首页 > 编程知识 正文

hibernate如何使用,jpa和hibernate的区别

时间:2023-05-03 16:00:23 阅读:173685 作者:2412

共同点

)1) Hibernate和MyBatis都是通过SessionFactoryBuider从XML配置文件中获取会话工厂,从会话工厂获取会话,从会话执行事务

)2) Hibernate和MyBatis都是JDBC(javadatabaseconnectivity,java数据库连接)和JTA (javatransactionapi,java事务API ) apple

注: jdbc和jta的主要作用是加强对数据的访问。

)3)基于对象关系映射(ORM )思想解决了实体与数据库的映射问题

区别:

(1)关于sql ) mybaits通过mapper.xml维持映射结果,程序员手动编写sql比hibernate自动生成hql(hibernatesql )更灵活,sql视图在提高开发效率的同时,SQL语句的调谐更容易) ) ) hibernate的hql数据库的可移植性更好,体现在健壮性上。 hibernate在删除级联时效率低下,数据量大,如果表多,则根据关系操作会变得复杂。

)2)对于缓存,mybatis和hibernate都可以使用第三方缓存,但hibernate的辅助缓存机制优于maybatis

(3)结构

Hibernate:Hibernate是当前最流行的ORM框架之一,为JDBC提供了更完整的封装。 Hibernate的o/r映射提供了POJO和数据库表之间的映射以及SQL的自动生成和执行。

Mybatis:Mybatis同样也是一个非常受欢迎的ORM框架,重点是POJO和SQL之间的映射关系。 然后,映射配置文件以将SQL所需的参数和返回的结果字段映射到指定的POJO。 对于Hibernate“O/R”,Mybatis是“Sql Mapping”的ORM实现。

)4)难度

Hibernate的真正掌握比Mybatis更难,Hibernate比Mybatis更重要。

Mybatis框架比较简单容易得到,但比较简陋。

)5)开发工时

因为Mybatis需要我们手动编写SQL语句,使其回归到最原始的方式,所以可以根据需要指定查询的字段,以提高程序的查询效率。

Hibernate还可以自己编写SQL语句以指定需要查询的字段,但这会破坏Hibernate的封装和简单性

Hibernate优势

Hibernate的DAO层开发比MyBatis简单,MyBatis需要维护SQL和结果映射。

与MyBatis相比,Hibernate更易于维护和缓存对象,以及添加、删除和修改的对象。

Hibernate数据库可移植性好,MyBatis数据库可移植性差,不同的数据库需要编写不同的SQL。

Hibernate提供了更好的二级缓存机制,可以使用第三方缓存。 MyBatis自身提供的缓存机制不好

MyBatis可以更精细地优化SQL,并可以减少查询字段。

Mybatis优势

MyBatis容易掌握,Hibernate的门槛很高。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。