wiflish
          Loving Life! Loving Coding!
          posts - 98,comments - 98,trackbacks - 0
          如果實體對象中存在大文本或者圖像等屬性字段,有必要將該種字段設置為延遲加載,即在需使用該字段的時候再加載該字段的內容。
          屬性延遲加載的實現(xiàn):
          1、在實體映射文件中,通過property節(jié)點的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>
          ??
          注:腳本中涉及的配置路徑,根據(jù)項目目錄修改。
          posted on 2006-08-15 15:54 想飛的魚 閱讀(2116) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 都江堰市| 酉阳| 武定县| 罗源县| 沂水县| 怀集县| 桂平市| 桐乡市| 左贡县| 南和县| 城口县| 文化| 青冈县| 祁东县| 灵武市| 兴和县| 桐城市| 巴东县| 九寨沟县| 奎屯市| 社会| 托克逊县| 巨鹿县| 白银市| 阜新| 吴堡县| 开江县| 安陆市| 白山市| 泽州县| 施秉县| 高安市| 财经| 揭东县| 苏州市| 灵川县| 石河子市| 潜山县| 县级市| 怀柔区| 金门县|