Arquivo armazenado em banco de dados

Pessoal, fiz a seguinte classe:

public class HelpDeskRegistroArquivo implements Serializable {

    private Long id = 0L; //ID DO ARQUIVO
    private Long chamado = null; //NUMERO DO CHAMADO A QUE O ARQUIVO PERTENCE
    private String descricao = ""; //DESCRICAO DO ARQUIVO
    private byte[] dados = null; //DADOS (O CONTEUDO MESMO DO ARQUIVO)
}

Que representa um arquivo anexo a um chamado de helpdesk, vou mapea-lo para uma tabela chamada anexos, ate ai tudo beleza… faco sem problemas. A minha principal questao eh:

Como obter uma lista de arquivos sem ter de carregar o campo dados? Evitando assim transferencias desncessarias?

Você está usando o que?

Para persistência JDBC ou JPA?

Qual o banco?

Poderia considerar outra forma de guardar arquivos sem ser no banco de dados?

Estas são perguntas importantes posta ae as respostas para podermos te ajudar!!!

Para arquivos, o que em geral se faz é criar uma pasta específica onde os mesmos ficarão armazenados e armazena-se no bd apenas o path para o mesmo. A maioria do pessoal recomenda fazer isso, uma vez que muitos DB não se comportam bem quando começam a ficar cheios de arquivos…

Era exatamente o que ia sugerir, aqui na empresa precisei armazenar arquivos em banco, apenas para minha decepção, visto que em menos de 1 semana o meu banco estava com 1gb de informação, remodelei a arquitetura apenas guardando o endereço do arquivo no servidor e ao acessar lia o arquivo do disco, a performance melhorou muito.

O que você precisa? como fazer isto em SQL,?