1、hibernate中的sessionFactory这个怎么理解?感觉挺抽象的,能否通俗的描述一下它的作用?
2、都说hibernate是持久层,怎么理解持久层,哪里体现了持久?这个和我们之前用delphi等通过ODBC操作数据库有什么不同吗?之前的这些方式难道不够持久?

解决方案 »

  1.   

    1、hibernate中的sessionFactory这个怎么理解?感觉挺抽象的,能否通俗的描述一下它的作用? 
    你要获取session 来操作pojo的存储,这个session 怎么来的?sessionFactory来的2、都说hibernate是持久层,怎么理解持久层,哪里体现了持久?这个和我们之前用delphi等通过ODBC操作数据库有什么不同吗?之前的这些方式难道不够持久?
    持久层的意思是说这一层是用来保存数据到数据库(当然也可以是文件中),和delphi通过什么方式操作数据库没什么不同,只不过这里单独提出一层来,而delphi是把所有的操作都放到一块了吧,业务逻辑,数据库操作等,不够持久?不知道什么叫做不够持久以上纯属个人意见,肯定有误,
      

  2.   

    感谢laorer ,其实已经给我解惑了。。分是一定会给的,现在还想看看其他的解释
    共同进步
      

  3.   

    1、Hibernate 操作数据要用到Session,
    而Session要通过SessionFactory来得到,
    SessionFactory是通过Configuration读取hibernate.cfg.xml配置文件,然后.buildSessionFactory()得到。
    反过来说应该更容易理解。
      

  4.   

    理解SessionFactory,你需要理解工厂模式,工厂就是专门生产东西的,
    SessionFactory就是Session的工厂,他会生产Session,你想要得到Session就去找Session的工厂
    也就是SessionFactory
    其他的也一样,看到**Factory就是某某东西的工厂持久层,持久化,在没有持久之前,所以的东西(数据)都是放在内存中的,一断电就没有了,
    持久就是写到硬盘上,打印到纸上,磁盘上等待。
    Hibernate并不是说什么更持久的意思,是他做为一个层,专门干这个活的,
    在一些不强调分层的语言中,链接数据库,操作数据库的语句和一些业务逻辑的语句都是混在以前的
    java喜欢把他们都分开,持久层的主要工作就是持久化,主要是复杂数据库链接操作
    除了Hibernate以为,持久层还有别的框架,只是hibernate比较出名,也很不错