C # DataGridViewButtonCell установить текст кнопки

Query.list (): Выполняет 1 SQL-запрос и загружает все данные. Даже если записи присутствуют в кеше, выполняется новый SQL-запрос для загрузки записей из базы данных.

List<Employee> list1 = session.createQuery("from Employee").list(); // SELECT *FROM EMP
for (Employee e : list1) {
    System.out.println(e);
}
List<Employee> list2 = session.createQuery("from Employee").list(); // SELECT *FROM EMP
for (Employee e : list2) {
    System.out.println(e);
}

Query.iterate (): Выполняет 1 + N SQL-запросы. Первый запрос возвращает только идентификатор всех записей, и когда возвращенный итератор повторяется, каждый раз, когда выполняется отдельный SQL-запрос, который содержит предложение WHERE, такое как «WHERE id = N». Если записи присутствуют в кеше, то выполняется первый запрос, а остальные N запросов не выполняются и записи получаются из кеша.

Iterator<Employee> iterator1 = session.createQuery("from Employee").iterate(); // SELECT EMP_ID FROM EMP
while(iterator1.hasNext()) {
    System.out.println(iterator1.next()); // SELECT * FROM EMP WHERE EMP_ID=?
}
Iterator<Employee> iterator2 = session.createQuery("from Employee").iterate(); // SELECT EMP_ID FROM EMP
while (iterator2.hasNext()) {
    System.out.println(iterator2.next()); // From cache, no SQL
}
13
задан animekun 3 October 2013 в 13:12
поделиться