相见恨晚
很久以前,大概从开始接触数据库开始,就闪过这样一个想法,怎么看怎么觉得数据库表和vb的类模块很像,不是么?除了vb类模块还有函数外;越往下学觉得二者越像,尤其在三层时学到实体类的概念,好吧,这二者基本合体了。除了组成,还有功能上,上次学术交流,说到类和类转移耦合时可以借住第三个类,同样,当表和表关系为多对多时,我们也可以借住第三张表;类似的还有类与类之间的关系,与数据库概念设计中的实体对应关系……
之所以对着二者的关系感兴趣,是因为还有一把记忆犹新的辛酸泪:
在.NET阶段,使用EA架构考试系统时,需要将表转换为实体类,当时50个表大概用了半上午,各种枯燥无味,当时一再想为什么没有类——表转换?再后来找到一款自动转换工具,为此还专门写了篇博客《数据库表转换为实体类》。
但疑问一直存在,二者如此相似,竟没有内在的关系?
直到遇到Hibernate,相见恨晚。
Hibernate
说正题,在我看来,Hibernate是JDBC的一种补充方案,它的高明之处在于,对象与对象之间的关系可以与表与表之间相互映射。如果把程序分为代码和数据两部分,从代码的角度来看,它将数据库操作转换为一种对象操作,即操作对象的增删改查,即可映射到数据的增删改查。
但是使用Hibernate有什么好处?
我的理解是,对象的操作即是面向对象的核心,可以用面向对象的思想操作数据,这样可以把更多的精力用于对程序质量的控制上,而不用分心于数据的操作,同样,与JSP之于UIer的作用类似,可以让不同位置的开发人员“术业有专攻”,提高开发效率。
如上提到“Hibernate是JDBC的一种补充方案”,为什么说是一种补充方案?框架毕竟有它的限制,无法替代JDBC能进行的更复杂的操作。
总结
.NET过度封装,使得很多内部原理无法深入了解,而JAVA,由于开放,已经给了我很多惊喜,Hibernate也是一个。
接下来,我会把Hibernate学习过程写成一个系列《Hibernate征途》,敬请期待。
分享到:
相关推荐
hibernate框架一对一测试案例,第四篇,使用于新手
hibernate一对一的关系hibernate一对一的关系hibernate一对一的关系hibernate一对一的关系hibernate一对一的关系hibernate一对一的关系
Hibernate双向一对一关联映射(注解版)
hibernate一对一实例
Hibernate一对一,一对多,多对多实例
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
NULL 博文链接:https://liuzidong.iteye.com/blog/960322
参考博文:http://blog.csdn.net/u011638419/article/details/41980311
hibernate第一个hibernate
这是hibernate 的超级简单的例子,只有一个持久化对象和一个辅助类,还有一个测试类,对于初学者很有参考价值
个人的很详细的Hibernate一对一映射配置详解,对初学者有帮助!
hibernate一对一外键关系,很适合入门者学习.
加入了hibernate框架的javaWeb项目,里面包含了一对多的典型配置
Hibernate关于注解的一对多,多对多,一对一案例。。。。
免积分的资源,希望可以帮到大家,这是我学习hibernate时候,自己写的代码。希望大家学业有成。
hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存,hibernate的一级缓存和二级缓存
JavaEE学习笔记之Hibernate表关系之一对多(inverse详解)
Hibernate 一对一外键单向关联 Hibernate 一对一主键单向关联 Hibernate 一对一连接表单向关联 Hibernate 一对多外键单向关联 Hibernate 一对多连接表单向关联 Hibernate 多对一外键单向关联 Hibernate 多对一连接...
hibernate一级缓存和二级缓存的区别与联系