HIBERNATE - Converter dados

1 resposta
yorgan

Olá pessoal,
Estou com um problema de conversão de dados no Hibernate.
Não sei se isso é possível, mas posso configura-lo para que quando buscar dados de uma tabela, converta o tipo de uma coluna para outro tipo que está no POJO.
No meu caso eu estava usando PreparedStatement para persistir objetos String em uma coluna bytea. Mas como estamos migrando para hibernate, agora o sistema está todo perdido.
Para que fique bem claro, estou postando meu código que atualmente funciona:

while(rs.next()) {
    to = new RelatorioParametroTO();
    to.setIdRelatorioParametro(rs.getInt(1));
    to.setDsModeloRelatorio(rs.getString(2));
    to.setIdTipoRelatorio(rs.getInt(3));
    to.setDsTextoVariavel(Conversor.byteToString(rs.getBytes(4))); //Campo String
    to.setCdUsrCadastro(rs.getString(5));
    to.setDhCadastro(rs.getTimestamp(6));
    to.setCdUsrAlteracao(rs.getString(7));
    to.setDhAlteracao(rs.getTimestamp(8));
    list.add(to);
}

Conversor que utilizo:

public class Conversor {
	
	public static String byteToString(byte[] bytes) {
		try {
			return new String(bytes, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	public static byte[] stringToByte(String texto) {
		try {
			return texto.getBytes("UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	return null;
	}
}

[]´s

Daniel

1 Resposta

B

Qual sessionFactory você usa? Uma das formas de fazer isso é utilizar a sessionFactory do hibernate com a propriedade: <prop key="hibernate.hbm2ddl.auto">update</prop>
Desse jeito, ao subir o container o hibernate vai atualizar o dataSource de acordo com o mapeamento das entidades. O problema é que sempre utilizo Spring, e não sei se o hibernate possui sessionFactory fora dos pacotes do Spring.

Criado 23 de julho de 2009
Ultima resposta 23 de jul. de 2009
Respostas 1
Participantes 2