A design purist would argue you should use the factory so there is only one place that instantiates the objects. If this is part of a big complex system that will be maintained by a team of programmers, I would tend to agree. At that point design elegance and maintainability are more important then the speed penalty of one DB call. On a smaller scale project, I wouldn't bother.
Jay