Bom dia Galera!
Gostaria de saber se este caso já aconteceu com algum de vcs.Estou usando hibernate.
Eu tenho um campo char no meu banco mysql CD_UNIDADE que se apresenta desta maneira 000000176 .Só que quando vou recuperar ele via annotation
ele se apresenta somente como 176 alguém sabe pq isso acontece e como posso resolver para trazer do banco corretamente?
Talvez esse monte de 0 sejam incluídos pelo próprio banco.
monike
Mas eu não tenho como recuperar o código do jeito que ele está no banco???
rubensdemelo
Creio que sim, mas não sei como fazer.
Qual é o tipo do campo no banco?
monike
é um código,mas está como char.
rubensdemelo
Talvez seja por isso então, já que o campo tem que ter um tamanho fixo, na hora de inlcuir, o banco preenche com 0 à esquerda. Não tenho certeza se é assim com mysql, mas no oracle e db2 geralmente é assim.
Quando a consulta retorna, já vem com o código “176”?
monike
Eu confirmei com o ad ele me disse que o banco preenche assim mesmo.Mas quando eu recupero,vem 176 ai ele nao encontra o registro.
rubensdemelo
Mas na consulta você passa [telefone removido] ou apenas 176?
monike
eu fiz uma cambi,mas nao é o certo. query.setString(“sigla”, “000000”+sigla); 000000176 ai ele acha.
rubensdemelo
O vulgo POG (Programação Orientada à Gato).
ctdaa
Não sou muito experiente nisto… mas não é o caso de usar um converter para devolver o valor no formato desejado?
Tipo assim:
publicclassCategoryConverterimplementsConverter{publicObjectgetAsObject(FacesContextfacesContext,UIComponentcomponent,Stringstring){if(string==null||string.length()==0){returnnull;}Longid=newLong(string);CategoryJpaControllercontroller=(CategoryJpaController)facesContext.getApplication().getVariableResolver().resolveVariable(facesContext,"categoryJpa");try{returncontroller.findCategory(id);}catch(PersistenceSessionExceptionex){returnnull;}catch(Exceptionex){returnnull;}}publicStringgetAsString(FacesContextfacesContext,UIComponentcomponent,Objectobject){if(object==null){returnnull;}if(objectinstanceofCategory){Categoryo=(Category)object;returno.getId()==null?"":o.getId().toString();}else{thrownewIllegalArgumentException("object "+object+" is of type "+object.getClass().getName()+"; expected type: com.pet.model.Category");}}}