1) сущность не должна уметь загружать файлы.
2) зачем эти извращения в DQL? можно сделать то же самое в геттере, а еще лучше передавать в геттер сервис который будет ресолвить все что нужно через дабл диспатч:
function getFile(FileResolver $resolver) {
// причем только потому что учавствуют два поля
return $resolver->resolve($this->folder, $this->filename);
}
что-то в этом духе.
А если у нас Doctrine 2.5 можно вообще хранить value object аля FileReference и тогда все еще проще, тогда FileReference можно крутить как хочешь и тот же FileResolver смог бы его как аргумент брать.