Итак, лучшая простая практика - это получать записи и держать их на карте (например)
и если карта не содержит никаких записей, получить его из БД.
Это будет выглядеть как
private List<Records> cachedRecords;
public List<Record> getRecords()
{
if (cachedRecords == null)
cachedRecords = DB.getConnection().getRecords();
}
return cachedRecords;
Обновление: также вы можете использовать Hibernate, где существуют такие инструменты, как ленивая инициализация