Сеттеры будут взваны столько, сколько строк возврщаются из БД. Например БД возарвщает 2 строки соответсвующие вашей выборки, следовательно, если есть 4 колонки значит сеттеры будут вызваны 8 раз.
next() возвращает true если за курсором есть еще строка, т.е. если обьяснять с приведеныым примером раннее:
-> (это своего рода курсор
row1
row2
next() будет возращать true два цикла подряд. А здесь уже будет false, потомучто за курсором уже нет строки:
row1
row2
->
Понятно? С каждым вызовом next() курсор смещается вперед, сеттеры возращают данные соответсвующей строки на которую указывает курсор