当前位置:首页>开发>正文

hibernate的优缺点是什么 hibernate框架的优缺点有哪些什么时候才用二级缓存

2023-06-19 08:31:56 互联网 未知 开发

 hibernate的优缺点是什么 hibernate框架的优缺点有哪些什么时候才用二级缓存

hibernate的优缺点是什么?

1.Hibernate的优缺点:
优点:1、程序更加面向对象;
2、提高了生产率;
3、方便移植(修改配置文件);
4、无侵入性。
缺点:
1、效率比JDBC略差;
2、不适合批量操作。

2.Hibernate有四种查询方案:
1、get,load方法,根据id查找对象
2、HQL--hibernate query language(查询对象:Query)
3、Criteria--标准查询语言(查询对象:Criteria,查询条件:Criterion)
4、通过sql来查(查询对象:SQLQuery)

hibernate框架的优缺点有哪些?什么时候才用二级缓存?

1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。
他很大程度的简化DAO层的编码工作

3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。

4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。
它支持各种关系数据库,从一对一到多对多的各种复杂关系。

Hibernate 和 JDBC 的优缺点?

Hibernate:优:面向对象的思维,一些简单查询不需要sql语句。比较方便。使用者不必了解sql语句。
缺:面对一些复杂查询的时候不是很灵活,比如要查询多个表的数据作为结果集,用hibernate就要设置这些表的实体对象关联关系。(虽然hibernate也可以执行sql,但是感觉效率不高)

jdbc:原生sql。需要了解sql语言。优:使用灵活
缺:jdbc需要大量的重复性劳动,比如单表查询,发出sql,根据结果集封装成对象。这种东西往往是类似的。 而hibernate只要一行代码就可以搞掂。
---------纯手打,望采纳

Java的持久层Hibernate毫无缺点Mybatis弱爆了

其实很多人在选择技术框架往往都会采用自己最熟悉的那个,
但细细比较,ibatis与hibernate的差异还是比较大的。
ibatis 最大的优点是将sql与程序代码做了分离,于是数据库的落地操作与程序逻辑可以解耦;
分工上可更加明确,而对于sql的调试及优化也更加直接高效。
然而缺点也很明显,不支持orm,于是大量的数据库sql语句都需要手动编写。
hibernate对orm的支持已经相当完善且稳定,普通的增删改查操作已经不需要通过sql进行实现,
而hql及nativeSQL的支持也让hibernate极尽完美。
但美中不足的还是在性能优化问题方面(比如hibernate n 1查询效率问题),在调试sql性能方面不是很方便;对于仅熟悉sql的工程师来说,会多一些学习成本。
值得一提的是hql和 JPA的支持使hibernate具有良好的可移植性,一套持久层可用于多种数据库,当系统数据库进行升级或变更时,这个好处就显现出来了。
综上,在开发效率上推崇使用hibernate。互联网开发的一个特性是快,快速变更迭代,使用hibernate其实更能适应这种节奏,而关于性能调优问题是可以弥补的:
1.  使用群体庞大,技术社区也非常活跃,可以从中获得各种问题的答案;
2. 如若应用产品发展给力,性能问题自然接踵而来,此时可能并非单单关系型数据库可以支撑的了,可能转向其他解决方案如nosql,于是此时hibernate也就已经完成了它的使命~~

jdbc与hibernate的优缺点比较

关于这个问题网上讨论的很多,多查查其实也大概清楚了。
我说点自己的体会吧
其实刚开始用hibernate时,也没觉得有多方便,感觉配置好复杂,什么状态、关联、缓存搞不清,而且复杂的查询很难实现。开发起来缩手缩脚,如履薄冰,觉得没有jdbc来的灵活,随心所欲。
hibernate用多了之后再使用jdbc,感觉jdbc好烦,老是要对应你数据库中的字段和程序中的实体。比如查询操作,hibernate中一句load(class,id) 就好了,而jdbc一直写rs.get(“你数据库字段名") ,你要一直对照数据库。hibernate的开发效率确实要高很多。
还有一点感触,jdbc和数据库耦合太高,要换数据库的话,代价大。
不知道你具体要了解些什么,希望对你有所帮助。

最新文章