重新认识你认识的Hibernate

Hibernate估计大家已经用过很多年了吧,好多同学说用过Hibernate,不需要你来讲,但再仔细想想,你能告诉我Hibernate是什么吗?

今天带大家重新认识一下你认识的Hibernate。

Hibernate 概述:JDBC面临的一些问题

首选写过JAVA JDBC 的同学大家是不是都会遇到类似这些问题。

  • 繁重的代码问题

String sql = "insert into t_test values(null,?)";

PreparedStatement stmt = con.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);

stmt.setString(1, "ss");stmt.executeUpdate();

  • 多表连接的问题

多表查询的复杂的SQL语句难于维护,要求有很好的JDBC编码能力

  • 多表连接的问题

多表连接要牵扯到级联操作的相关问题。使用JDBC,编写和维护代码非常不便。使程序员要分很大的经理在JDBC编码上,而真正关心业务的精力就降低了。

  • 层与层之间的耦合严重
  • 性能问题

在数据量不大的情况下,JDBC的效率要高于Hiberbate,但是在大数据量的情况下,Hibernate的效率远远的高于JDBC

Hibernate 概述:ORM意义

ORM是对象到关系的映射,它把对表的直接操作变成对持久化类的属性和方法的直接操作。ORM层作为分层体系中的持久层。使用ORM可以简化对数据库的操作,ORM技术可以极大的提高开发效率和开发时间,同时在开发质量上更容易得到保证

Hibernate 概述:Hibernate 是什么?

开源的持久层框架,对象-关系映射(O/R Mapping)解决方案

1、开源和免开源和免费的License,我可以在需要的时候研究源代码,改写源代码,进行功能的定制。

2、轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。

3、具有可扩展性,API开放当本身功能不够用的时候,可以自己遍码进行展。

4、开发者活跃,产品有稳定的发展保障。

5、透明的持久化过程(使用实体域对象,JAVABEAN/POJO-简单古老的java对象)。

6、自动检查脏数据

7、可以动态的生成SQL语句

Hibernate 概述:Hibernate 优点

提高生产率(Productivity)

可维护性(Maintainability)

更好性能(Performance)

厂商独立性(Vendor independence)

Hibernate 概述:Hibernate 原理

声明:本文章属于个人原创,转载请注明文章出处。

原文发布于微信公众号 - 全华班(quanhuaban)

原文发表时间:2018-03-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

GitHub上11月份最热门的Java项目

又到了公布 GitHub 上热门项目的时候啦~在 11 月的排行中,猿妹加入非软件类的项目,这样可以帮助大家更直观的了解哪些项目才是GitHub 上最热门的。...

2607
来自专栏LanceToBigData

HttpClient(二)HttpClient使用Ip代理与处理连接超时

前言   其实前面写的那一点点东西都是轻轻点水,其实HttpClient还有很多强大的功能:   (1)实现了所有 HTTP 的方法(GET,POST,PUT,...

2268
来自专栏架构师之路

到底什么时候该使用MQ?

一、缘起 一切脱离业务的架构设计与新技术引入都是耍流氓。 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题。 就像微服务分层架构之前,应该首先回答,...

4905
来自专栏闻道于事

Spring技术内幕:设计理念和整体架构概述

1003
来自专栏跨界架构师

如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单

之前的十一篇把用户购买商品并提交订单整个流程上的中间环节都过了一遍。现在来到了这最后一个环节,提交订单。单从业务上看,这个动作的背后包含了多个业务操作,根据用...

442
来自专栏数据和云

苹果后端的Oracle数据库

最近在微博上,网友发布了一份来自于苹果公司的Oracle数据库AWR报告,虽然我们早就知道Apple的APP Store后端使用的就是Oracle数据库,部署在...

1905
来自专栏腾讯Bugly的专栏

【Dev Club分享】微信读书iOS性能优化

“8小时内拼工作,8小时外拼成长”这是大家共同的理想。除了每天忙于工作外,我们都希望能更多地区吸收领域内的新知识与新技能,从而走向人生巅峰。 Dev Club ...

2985

使用Cloud Foundry来调整微服务API

[本文由John Wetherill撰写。]

18710
来自专栏即时通讯技术

IM开发基础知识补课(二):如何设计大量图片文件的服务端存储架构?

一个完善的IM系统中通常充斥着大量的图片内容,包括:用户头像、图片消息、相册、图片表情等等,那么在做服务端架构设计时该如何存储这些图片呢?

944
来自专栏FreeBuf

企业安全建设之路:端口扫描(下)

0x00、前言 在企业安全建设过程当中,我们也不断在思考,做一个什么样的端口扫描才能企业业务需求。同时,伴随着企业私有云、混合云以及公有云业务部署环境的不断变...

36710

扫描关注云+社区