Будьте в спящем режиме: Предотвращение чтения всех записей на память сразу

In such scenarios, here is what you can do
  1. Найдите xpath элемента на разных устройствах Android и объявите их в объектной модели страницы.

    @AndroidFindBy(xpath="//<xpath of the element>") private MobileElement element1;

    @AndroidFindBy(xpath="//<xpath of the element>") private MobileElement element2;

  2. Вы можете написать вспомогательную функцию в классе объектной модели Page, которая сообщит вам, что ли конкретный элемент существует или нет на экране.

    public boolean elementExist (Xpath xpath) {if (! AppiumDriver.findElements (xpath) .isEmpty ()) {LOGGER.info ("Элемент существует"); вернуть истину; } else {LOGGER.info («Элемент не существует»); вернуть ложь; }}

Затем в тестовом примере вы можете сделать что-то вроде

if(elementExist(element1)) {
  click(element1);
} else if (elementExist(element2)) {
  click(element2);
}...
6
задан Nic Wise 16 November 2008 в 18:02
поделиться

4 ответа

Используйте setMaxResults () метод на Критериях.

Criteria crit = sess.createCriteria(Cat.class);
crit.setMaxResults(maxResults);
crit.setFirstResult(firstResultIndex);
List cats = crit.list();

http://hibernate.org/hib_docs/v3/reference/en/html/querycriteria.html

http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html

1
ответ дан 17 December 2019 в 07:10
поделиться

Кроме того, взгляните на Раздел выборки пакета 19.1.4, и 19.1.5 должен сделать. http://www.hibernate.org/hib_docs/v3/reference/en-US/html_single/#queryhql-joins-forms

-1
ответ дан 17 December 2019 в 07:10
поделиться

Вот что я планирую сделать: Создайте временную таблицу с идентификаторами объектов всех строк, которые мне нужно экспортировать:

Insert into BatchTable (ID, Seq) Select (O.ID, Sequence.Next) 
From MyObject O Where ...

В небольших единицах рабочей нагрузки в объектах:

Select Min(B.Seq), Max(B.Seq) From BatchTable;

for (batch = minBatch; batch <= maxBatch; batch += size) {
 beginTransaction();
 results = query("Select O From MyObject O, BatchTable B 
                  Where O.ID = B.ID and (? <= B.Seq AND B.Seq < ?)");

 exportXML(results);
 for (MyObject O : results) {
  O.setProcessed(True);
  O.update();
 }
 commit();
}
0
ответ дан 17 December 2019 в 07:10
поделиться

Если вам не нужно отмечать объекты как выполняемые, вы можете просто использовать scroll () и удалить объекты из сеанса по мере того, как вы закончите с ними.

1
ответ дан 17 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: