É um requisito indispensável do seu sistema, persistir a mídia? Por que não reservar o arquivo em um diretório e armarzenar somente o caminho no banco de dados?
[]'s
Rafael_Guerreiro
Então… É… Eu também gostaria de poder fazer isso… Mas para backups, e organização entre clientes, isso é primordial…
getAdicted
Você tem certeza que o gargalo está na sua aplicação, não será no banco de dados? A um tempo atráz eu fiz algo semelhante com JPA+HIBERNATE+PRIMEFACES, o seguinte tópico me ajudou muito:
Esse exemplo é para o MySql, mas eu acredito que para outros bancos, é possível configurar algo similar.
Qual a exception?
[]'s
getAdicted
Eu não sei se é esse o problema que está impactando, mas no console do PhpMyAdmin, aba variáveis, existe campo max sort lenght, estou olhando aqui e ele está setado com 1024.
[]'s
Rafael_Guerreiro
No banco de dados o campo está como Long Blob…
É um BatchUpdateException e a mensagem que dá é:
Packet for query is too large (4391538 > 1048576). You can change this value on the server by setting the max_allowed_packet’ variable.
getAdicted
Acho que idêntificamos o problema, talvez essa seja uma solução:
Eu tenho que fazer isso manualmente sempre? Existe alguma forma do Hibernate fazer isso para mim?
getAdicted
Eu não sei há como fazer essa configuração através da aplicação, eu acredito que não, mas após configurado, mesmo que na interface do PhpMyAdmin, tchau e benção. Todos os clientes passarão a compartilhar daquilo nas suas sessões.
Eu consegui configurar aqui:
xampp/mysql/bin
Alterar max_allowed_packet no arquivo my.ini, por exemplo, para 500MB
Reiniciar o MySql
no prompt de comando: mysql> set global max_allowed_packet = 500 * 1024 * 1024
Pronto, agora você poderá persistir arquivos de até 500MB.