1.什么是hibernate?
hibernate的中文意思是冬眠。那它指的是什么的冬眠呢?请听菜鸟我慢慢道来。
hibernate的冬眠指的是对象的冬眠。对象能冬眠么???这只是一种形象的说法。它的本意是指对象的持久化。那什么是对象的持久化呢?我们都知道对象存在于内存中。那它就有一个生命周期的问题。如果我们的程序一关闭,我们的对象就成垃圾了。它会被垃圾回收机制给回收掉。如果我们的对象总是被创建总是被回收,会影响你的服务器工作效率对吧。假如我的多个程序都需要这个对象,把这个对象new一遍不行么?因此,我们引出第二个问题。
2.hibernate的作用是什么??
解决如何让我们的对象的生存周期变的更长的问题。我们以前学过ObjectOutputStream方法将对象保存在文件里面。这样可以解决对象生存周期的问题。但是这样会使我们对文件的读取和处理有一些困难。所以有更好的存储对象的方式------数据库。
但是数据库存在一个问题,即现在主流数据库都是关系型数据库,也就是说他不能直接存对象。但是有对象型数据库,但其还不是主流,技术还不够完善。所以hibernate得作用就是把对象转化成关系。你内存中是一个对象,我调用一个方法,hibernate自动把对象中的属性自动存到数据库的字段里面去。对应到数据库里就是一个记录。这就是O-R(object-relation)。所以hibernate也成为ORM框架。即对象-关系 mapping.