Hibernate + Imagem  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Pessoal,

Preciso gravar uma imagem no Banco de Dados usando Hibernate. Procurei por aí (inclusive aqui no GUJ) e todas as soluções dizem para, ao invés de Image, utilizar Byte[]. Por exemplo, em vez de:



eu usaria:



O problema dessa solução, na minha opinião, é conceitual: no meu domínio de negócio, meu Cliente (por exemplo) possui uma imagem que representa sua foto, e não um array de bytes.

Alguém tem uma solução mais elegante para esse problema?

programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Guilherme Gomes
Virtual Machine Man
[Avatar]

Membro desde: 25/06/2007 14:32:09
Mensagens: 686
Localização: São Paulo
Offline

Uma imagem é um array de bytes... Um arquivo no computador é armazenado em bytes... Essa a razão de você achar o pessoal usando byte[].

This message was edited 1 time. Last update was at 07/04/2009 09:49:46


-----------
Atenciosamente,
Guilherme V. F. Gomes.
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
Mero_Aprendiz
JavaEvangelist
[Avatar]

Membro desde: 25/08/2004 11:32:27
Mensagens: 380
Localização: Goiânia
Offline

Olá.
Porque você não cria dentro do seu Cliente mesmo métodos para transformar esse bytes[] em uma Image?



P.S.: Nunca tentei persistir uma imagem sem ser de byte[]. O Hibernate não persiste um image?

[]'s
JL
alanbrasil1984
JavaEvangelist
[Avatar]

Membro desde: 23/07/2006 00:27:57
Mensagens: 359
Localização: Rio de janeiro
Offline

vou postar um método que tenho que ao colocar ele como href de uma imagem ele busca a imagem no banco e coloca na pag..





isso ai é um exemplo pratico...

espero ter ajudado

This message was edited 1 time. Last update was at 07/04/2009 10:15:00




Alan Rodrigo de Oliveira Souza
Fattoria Web
Em busca da SCJP.

[WWW] [MSN] [ICQ]
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

This message was edited 1 time. Last update was at 07/04/2009 10:29:42


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
pango
Virtual Machine Man

Membro desde: 20/08/2005 16:31:37
Mensagens: 556
Localização: Pangolândia
Offline

Pessoal,

Obrigado pelas sugestões. Parece que vou realmente ter que "sujar" minhas classes de negócio com detalhes de implementação. Bom, fazer o quê, né?

Vou experimentar as sugestões e depois digo qual eu adotei. A princípio, a sugestão do Lavieri pareceu ser a mais simples. Muito obrigado a todos!

programmer.setFucked(user.isStupid());
Sun Certified Java Programmer 1.4
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

se vc quiser, pode criar uma Classe do tipo

@Embeddable

nessa classe vc pode imbutir os dados.... do byte e liberar a imagem.... abstraindo mais para seu bean...



ai la na sua classe... vc usa assim



agora na sua classe Cliente, fica tudo bem mais abstraido

This message was edited 6 times. Last update was at 07/04/2009 12:36:35


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
alanbrasil1984
JavaEvangelist
[Avatar]

Membro desde: 23/07/2006 00:27:57
Mensagens: 359
Localização: Rio de janeiro
Offline

mais cuidado com os null pointer para fazer oque ele ta sugerindo vc tem que ter certeza que virá imagem.



Alan Rodrigo de Oliveira Souza
Fattoria Web
Em busca da SCJP.

[WWW] [MSN] [ICQ]
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

alanbrasil1984 wrote:mais cuidado com os null pointer para fazer oque ele ta sugerindo vc tem que ter certeza que virá imagem.


agora não precisa mais ter certeza... todos os nulls ali usando Embeddable e Embedded já estão previstos... eu editei o post ^^

This message was edited 1 time. Last update was at 07/04/2009 12:40:13


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
robertoJames
Thread.start()
[Avatar]

Membro desde: 21/09/2010 10:28:22
Mensagens: 43
Offline

Bom dia pessoal,

estou com o mesmo problema do amigo acima só que um pouco diferente:

eu tenho um selectItem e quero que apareça a imagem ao lado de acordo com o selectItem escolhido:






vocês saberiam me ajudar ?
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team