wiflish
          Loving Life! Loving Coding!
          posts - 98,comments - 98,trackbacks - 0
          如果實體對象中存在大文本或者圖像等屬性字段,有必要將該種字段設置為延遲加載,即在需使用該字段的時候再加載該字段的內容。
          屬性延遲加載的實現:
          1、在實體映射文件中,通過property節點的lazy屬性,可以為特定的屬性制定延遲加載策略。
          <hibernate-mapping>
          ??
          <class?
          ?????
          name="test.Tuser"
          ?????table
          ="T_USER"
          ?????batch-size
          ="5">
          ?????
          <id?name="id"?columen="id">
          ????????
          <generator?class="native"/>
          ?????
          </id>
          ?????
          <property?
          ?????????
          name="name"
          ?????????column
          ="name"/>
          ?????
          <property?
          ?????????
          name="age"
          ?????????column
          ="age"/>
          ?????
          <property
          ?????????
          name="resume"
          ?????????column
          ="resume"
          ?????????lazy
          ="true"/>??????????????? //這里將個人簡歷(大文本字段)設置為延遲加載。
          ???
          </class>
          </hibernate-mapping>

          2、配置了lazy屬性之外,還要借助類增強器對二進制Class文件進行強化處理(buildtime bytecode instrumentation)。通過ANT調用Hibernate類增強器對TUser.class文件進行強化處理。腳本如下:
          <project?name="HibernateSample"?default="instrument"?basedir=".">
          ??
          <property?name="lib.dir"?value="./lib"/>
          ??
          <property?name="classes.dir"?value="./bin"/>
          ??
          ??
          <path?id="lib.class.path">
          ?????
          <fileset?dir="${lib.dir}">
          ?????????
          <include?name="**/*.jar"/>
          ?????
          </fileset>
          ???
          ??
          <target?name="instrument">
          ?????
          <taskdef?name="instrument"
          ?????????classname
          ="org.hibernate.tool.instrument.InstrumentTask">

          ????????
          <classpath?path="${classes.dir}"/>
          ????????
          <classpath?refid="lib.class.path"/>
          ???? </
          taskdef>
          ????????
          ????
          <instrument?verbose="true">
          ???????
          <fileset?dir="${classes.dir}/com.redsaga/hibernate/db/entity">
          ??????????
          <include?name="TUser.class"/>
          ???????
          </fileset>
          ????
          </instrument>
          ?
          </target>
          </project>
          ??
          注:腳本中涉及的配置路徑,根據項目目錄修改。
          posted on 2006-08-15 15:54 想飛的魚 閱讀(2116) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 叶城县| 铁力市| 平利县| 达拉特旗| 启东市| 阳谷县| 兴海县| 钟山县| 兴仁县| 孟村| 徐闻县| 东莞市| 门源| 浪卡子县| 三都| 井陉县| 万全县| 阿鲁科尔沁旗| 囊谦县| 台北市| 常熟市| 辽中县| 车险| 尼勒克县| 改则县| 五河县| 精河县| 合江县| 闵行区| 荆门市| 藁城市| 炎陵县| 子长县| 满洲里市| 威宁| 平南县| 鹰潭市| 张家界市| 老河口市| 古田县| 垣曲县|