Como gravar arquivo em campo BLOB utilizando JSF, Hibernate, Mysql

6 respostas
E

Pessoal,

Estou tendo dificuldade em encontrar material informando como gravar um arquivo (pdf, txt, jpg…etc) no campo BLOB do banco de dados(mysql) utilizando hibernate + JSF, já pesquisei em diversos sites, foruns, porem não encontrei nenhum material que pudesse me ajudar, o único que deu para ter uma ?pequena? base foi http://www.hibernate.org/73.html, porem não consegui fazer funcionar… nunca fiz isso antes, ou seja, não sei nem como começar…rsrrs… Sendo assim, se alguem já passou, por isso, e se for possível ajudar , serei grato por isso.

Obs. Assim que conseguir resolver este problema estarei efetuando um tutorial e disponibilizando, para que possa ajudar outras pessoas

Grato desde já
Elton C.

6 Respostas

fillipeweb

Voce pode transformar seu arquivo em um array de bytes e gravar no campo blob.

E

Obrigado pela ajuda… se não for pedir muito, seria possivel postar um exemplo, para que possa facilitar o endendimento ?

Obrigado
Elton C.

fillipeweb
Dois metodos, um que devolve um array de bytes para serem gravados e outro para transformar um array de bytes em um objeto:

	public byte[] serialize(L object) {
		ByteArrayOutputStream baos = null;
		ObjectOutputStream out = null;
		byte[] byteObject = null;

		try {
			baos = new ByteArrayOutputStream();
			out = new ObjectOutputStream(baos);
			out.writeObject(object);
			out.close();

			byteObject = baos.toByteArray();

		} catch (Throwable e) {
		}

		return byteObject;
	}

	public L getObject(byte[] byteObject) {
		ByteArrayInputStream bais = null;
		ObjectInputStream in = null;
		L object = null;
		
		try {

			bais = new ByteArrayInputStream(byteObject);
			in = new ObjectInputStream(bais);
			object = (L) in.readObject();
			in.close();

		} catch (Throwable ex) {

		}

		return object;
	}
E

Obrigado mesmo hein… vou começar a fazer…

E

Pessoal,

Surgiu duvida na hora de fazer o upload do arquivo para passar para os metodos acima, sendo assim alguem poderia ajudar ?

Se for possível, postar o código para facilitar o entendimento.

Grato desde já
Elton C.,

E

Ops… so lembrando estou utilizando JSF, Hibernate e Mysql.

Grato desde já Elton C.

Criado 7 de outubro de 2008
Ultima resposta 7 de out. de 2008
Respostas 6
Participantes 2