The practice I am using for a long time to minimize the db access is storing the data from db in a member variable, this was the one Simon already suggested. Getters that are bind to the components are called a couple of times, if you are not careful enough than performance issues will likely to occur. You should cache the db data in request scope like this;
public class AlbumView {
...
private List _trackList;
...
public List getTrackList()
{
if(_trackList == null)
trackList = getDBHelper().readTrackListFromDB();
return trackList;
}
}The first access to the list will read the data from db, later accesses will not hit the db and return the data that is cached. As a good practice maybe you might have a dbhelper class that reads the tracklist and does other db related stuff, this will enable you to use the same mechanism easily in other pages without recoding the sql stuff.

