我是先学JAVA基础,然后才看hibernate的。我想大多数的人应该都是先学习了JAVA基础,然后才进入J2EE的。当我们一开始进入J2EE的世界时,我们有点被那一套一套的概念、思想、配置文件搞蒙了,以至于我们自己都忘记了,我们依旧是处在JAVA的世界里。好像扯得有点大了,我们说hibernate。OK,那以我们在学习JAVA时的眼光来看,hibernate是个什么玩意呢?他就是一些JAR包。当然,说他是一个JAVA工程可能更准确点。
我们来思考一个简单的问题:如果我们写了一个JAVA工程,然后希望别人能使用这个工程中已经实现的功能,我们该怎么办?有两个办法。第一个是把我们的代码打成JAR包;第二个是让别人直接在我们的工程中直接开发。现在,我们对hibernate的本质是不是更清晰了一点。但我第一次知道hibernate的时候,别人告诉我这个一个框架,我当时想了很久也没明白什么是框架,别人不好意思,用房屋啊什么给我比喻了半天。现在,我们用纯JAVA的话来解释什么是框架,他就是一个开发了一半的工程。对,就是一个开发了一半的JAVA工程。如果你想用这个开发了一半的工程的功能,你有两个途径:把它打成的JAR包导入到你自己的工程,还有就是你直接在这个工程中继续开发,最后这个工程就变成你自己的了。
接下来,我们来回答另一个更简单的问题:我们怎么来使用一个JAR包中的功能,或者使用本工程中已经写好的代码的功能?很简单吧,你是不是要跟我说是方法调用,不完全正确。应该说是调用它的方法,也可能是我们写一个方法去给他调用。所以,我们怎么来使用hibernate呢?去调用它的方法,或者写一个方法去被它调用,这取决于入口在那里。
说到这里,我们视乎忘了那些没完没了的配置文件是怎么回事?我相信很多写过JAVA代码的人都能理解,那些无非是一些那个写了一半的工程所需要的资源。我们不是也写过读取文件的程序吗?
OK,你想学习hibernate吗?如果想,那剩下来的事情就是去了解hibernate有哪些功能能被我们使用,那些是我们写放去被他调用,那些是我们去调用它的方法,还有就是要去了解那个写了一半的工程需要用到那些资源。