ibatis - где разместить тег <cacheModel>? - PullRequest
1 голос
/ 16 июля 2010

У меня есть файл конфигурации карты, подобный этому

<sqlMap ..............>

    <alias>
      <typeAlias ......../>
    </alias>

    <statements>
      ....
      <sql>....</sql>
      <select cacheModel="cache-select-all">....</select>
      <update>...</update>
      <procedure>...</procedure>
      .....
    </statements>    

    <parameterMaps>
      <parameterMap>....</parameterMap>
    </parameterMaps>

    <cacheModel id="cache-select-all" type="LRU" readOnly="true" serialize="false">
      <flushInterval hours="24"/>
      <flushOnExecute statement="InsertIOs"/>
      <!--<property name="CacheSize" value="1000"/>-->
    </cacheModel>

  </sqlMap>

Я использую ibatis (.net, если это важно), и у меня есть один вопрос: где разместить теги?Есть или потому, что размещение его, как я сделал, в заявлениях, кажется, не работает.Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Прежде чем использовать его в операторе выбора.Порядок имеет значение здесь.В противном случае анализатор карт SQL не сможет проверить вашу карту SQL.

0 голосов
/ 16 июля 2010

Вы должны ссылаться на cacheModel, который вы определили внутри тега оператора, как показано в следующей ссылке:

http://ibatis.apache.org/docs/dotnet/datamapper/ch03s08.html

...