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,?