Nessa tag eu imprimo O VL_Nominal que vem do meu ManagedBean. Eu quero atualizar esse valor e imprimir o valor atualizado… como eu faria isso ???
agradeço.
Estou pegando o valor da parcela do banco de dados e imprimindo… só que
o valor da parcela vem sem correção… eu preciso corrigir esse valor
com juros … e imprimir o valor corrigido ao invés do valor nominal entendeu ??
as formulas para corrigir esse valor é tranquilo mas não sei como retorno
o valor corrigido para a tela ao inves do valor nominal…
N sei se consegui explicar direito…
Scoobydoo
Porque você não atualiza o valor da sua variável no seu próprio ManagedBean ?
Em vez de retornar um item.VL_NOMINAL retorne o item.VL_CORRIGIDO.
P
Paulo_Felipe
Meu managed bean me retorna uma List de Parcelas… nessa List eu tenho VL_Nominal que
eu preciso mostrar na tela e também preciso de mostrar o valor atualizado… so que o valor
atualizado eu não tenho no meu modelo Parcela… entendeu ?
lindberg713
Então crie forneca a sua entidade Parcela a capacidade de retornar o valor da parcela com os juros calculados. Com isso vc chamaria #{item.VL_CORRIGIDO}, por exemplo. Mas digamos que o objeto Parcela por si só não consiga calcular o valor corrigido. Então no método que vc usa para consultar o banco e popular os objetos Parcela vc pode calcular tb o valor corrigido neste mesmo momento e settar uma variável digamos juros por exemplo dentro da classe Parcela. Ai o método getValorCorrigido (que vc vai criar na classe Parcela) retorna valor_nominal + valor_juros (ou seja la qual for a formula). Paravc criar os objetos parcela se vc não tiver usando nenhum framework ORM vc deve ta percorrendo todo o ResultSet para com base no resultado da consulta criar objetos Parcela, se for isso, vc em cada iteração fará o que falei anteriormente, calcula o valor de juros e seta em parcela.
Lá no se JSP ou XHTML, vc vai chamar #{item.VL_CORRIGIDO} que lá dentro vai fazer valor_nominal + valor_juros, ou seja lá qual for a forma.
Não sei se ajudei muito mas foi o que deu pra entender!
Victor Lindberg
P
Paulo_Felipe
Ajuda aí galera… rs
P
Paulo_Felipe
opa foi mal não tinha visto a mensagem do lindberg713…
P
Paulo_Felipe
lindberg713 a dúvida é essa mesma… mas é que eu pensava que o meu Objeto tem que ser necessariamente igual a minha base… eu posso criar um atribulto a mais ??? não dá problema quando o hibernate for localizar alguma coisa nessa tabela ???
lindberg713
O hibernate só leva em consideração os campos que estão mapeados. Ou seja se estiver usando annotations, ele só considera os campos anotados nas operações de persistencia. Da mesma forma se estiver usando mapeamentos hbm.xml só serão levados em conta os campo mapeados no xml. Dessa forma se vc colocar um método lá get… simples lá sem nenhum mapeamento ou um atributo qualquer isso não interferirá em nada na sua persistencia.
P
Paulo_Felipe
LINDBERG,
Eu fiz a alteração, crieu um campo no Parcela VLR_ATUALIZADO e populei ele no meu BEAN mas deu um erro no hibernate “Column Referenced not found in table list. (this_.VLR_ATUALIZADO)” como eu faço para o hibernate não usar essa coluna ? eu não fiz nenhum mapeamento para ela só adicionei o atribulto e coloquei o get and set.
Valeu
P
Paulo_Felipe
Eu estou usando o Annotations… acho que se o hibernate desconsiderar a coluna resolve.
P
Paulo_Felipe
Column Referenced not found in table list. (this_.VLR_ATUALIZADO)
lindberg713
Anote esse campo (VLR_ATUALIZADO) novo que criou com @transient no seu bean. Isso indica ao hibernate que esse campo não é persistente ou seja é transitente, isso fará com que ele não seja levado em conta na persistencia. Eu tinha esquecido de falar esse detalhe.
Pode colocar a annotation no método get desse atributo. Como abaixo:
@TransientpublicdoublegetVlrAtualizado(){...}
Observe a nomenclatura padrão do java. Esse VLR_ATUALIZADO está fora do padrão. O correto seria vlrAtualizado e o método get desse atributo getVlrAtualizado, e lá no seu jsp, xhtml ou qualquer coisa vc referencia esse método get apenas como vlrAtualizado, isso faz com que o método getVlrAtualizado do bean em questão seja chamado. então ficaria seubean.vlrAtualizado