1. 应用程序与hibernate是通过持久化类通信:

    hibernate 常识_hibernate

  2. hibernate需要访问的属性一定要在*.hbm.xml中定义,不一定在持久化类中定义,但持久化类一定要提供该属性的set和get方法。

  3. 如果持久化类里有一个属性,数据库中表没有对应字段,可以用*.hbm.xml中的formula属性做对应关系,例如下图,持久化类中有totalPrice属性,数据库表里没有

    hibernate 常识_hibernate _02



4.

hibernate 常识_hibernate _03

5. new出来的对象在堆中,为临时态,被save后,该对象其实是加入了一个session中的map,key为这个对象的OID,其实就是多了一个对它的引用,并且在flush时会将该对象对应的条目保存到数据库,此时为持久态,当session不存在,session对

该对象的引用没了,而数据库中还有一条记录与之对应,此时该对象处于游离态。

hibernate 常识_hibernate _04

hibernate 常识_hibernate _05


6.