Jdbc retorna Character ao invés de String

olá Senhores, boa tarde.

Faço uma chamada para uma procedure, e o campo que deveria vir [b]“Vis”/b está vindo somente [b]“V”/b.
Detalhe, na ferramenta SQuirrel visualizo a informação correta “Vis”.

No meu código java não…

Existe algum parâmetro para que tenho que passar para a conexão do driver jdbc ou algo do tipo?

Já estive nesta situação tanto no oracle quanto no sqlServer, no oracle resolvi convertendo o campo da query (cast as varchar(50)), mas agora não tenho acesso para alterar esta procedure.

Abraços,
Léo

Alguém sabe o que acontece?

Entenderam?

Ninguém?

Cadê o código?
Cadê a SP?

Sem isto, não tem como, camarada.

Bem, independente disto, se está trabalhando com ResultSet

String str = rs.getString(indice do campo);
//ou
String str = rs.getString("alias do campo");
//ou
String str = rs.getString("coluna");

Segue, se precisar do meu transformes avisa, mas já chega no transformes como Character.

	private List<Object> blablabla(Integer codigo, String data) {
		SQLQuery proc = super.getSession().createSQLQuery("Chamada proc");
		proc.setResultTransformer(new DynamicClassResultCamelCaseTransformers());
		proc.setParameter("codigo", 1, Hibernate.INTEGER);
		proc.setString("dt", data);
		return proc.list();
	}

Referências com o mesmo erro… ambos sem solução

http://www.guj.com.br/java/217098-problema-com-select-que-nao-retorna-todos-os-caracteres-da-consulta-/2#1250739

https://forum.hibernate.org/viewtopic.php?p=2320875&sid=9791f156b8729c62564151e807a8a3c4

Senhores é um bug do transformers…
Não sei como resolver, a única alternativa que tenho pelo visto é usar jdbc, usando o CallableStatement o resultado vem corretamente.
Mas quero resolver isso.

Alguém tem uma sugestão?
Abraços

Eu estou com o mesmo problema e também não consegui resolver.
Qual foi sua solução paliativa ?
Você comentou algo referente (cast as varchar(50)). isso é particularidade do oracle. ?
Eu estou utilizando o informix …

Att

[quote=lelodois]olá Senhores, boa tarde.

Faço uma chamada para uma procedure, e o campo que deveria vir [b]“Vis”/b está vindo somente [b]“V”/b.
Detalhe, na ferramenta SQuirrel visualizo a informação correta “Vis”.

No meu código java não…

Existe algum parâmetro para que tenho que passar para a conexão do driver jdbc ou algo do tipo?

Já estive nesta situação tanto no oracle quanto no sqlServer, no oracle resolvi convertendo o campo da query (cast as varchar(50)), mas agora não tenho acesso para alterar esta procedure.

Abraços,
Léo

[/quote]