持久化思想是什么?
刚学习hibernate,看了一些相关配置,但始终不明白持久化思想是什么.请大侠指点,给点思路.谢谢 1 楼 抛出异常的爱 2007-04-03 18号字非常的大了
思想就是不写sql只写代码(可测试,可验证的代码) 2 楼 lane_cn 2007-04-03 又是一个被名词概念绕晕的可怜孩子。这种太小儿科的太太太简单的问题我来解释一下。
所谓的持久是站在业务模型的角度说的。按照面向对象的分析设计方式,我们先根据业务的形状画出一个对象模型,然后写代码,然后对象之间互相调用,系统就运行起来了。面向对象很牛b,但是有一个巨大的问题,就是所有的对象都是在计算机的内存里的,一旦机器关掉,一切都消失了。于是需要有这样的功能:把内存中的对象保存到数据库里去,需要的时候再从数据库里拿出来。
最简单的方式就是:在对象里面写上sql语句,把对象属性insert/update进去,需要的时候从数据库里面select出数据来,再set到对象属性上。这是最土的办法。这样一来,对象就持久了。
比较炫一点的办法,就是定义一个表,在这个表里记录对象属性和数据库字段的一个对应关系,当我们需要一个对象的时候,就根据这个表自动把对象属性的值赋上,修改后的属性还能自动update回到数据库里去。有了这个功能,对象的使用者就感觉象没有数据库一样,好像这些对象本来就是放在内存中的。这就是orm。