Ou então cria um outro método,que execute metodo1 e depois metodo2
J
jyoshiriro
Não seria melhor você criar um método “fachada” no Managed Bean?
void metodoFachada() {
metodo1();
metodo2();
}
I
izaura
raf4ever:
Creio que não.
Pq não método1 chamar método2?
Ou então cria um outro método,que execute metodo1 e depois metodo2
No momento um metodo chama outro, mais preciso trocar isso. O motivo: no metodo 1 faço um persist numa tabela (mais o commit no banco é só qdo o metodo finaliza), no metodo 2 dependendo de algumas verificações tenho q fazer um merge nesse resgistro, porém o metodo 1 ainda não foi finalizado e o merge não rola, justamente pq “n acha” o registro q o metodo 1 persistiu. Não sei se fui clara . rs . , mais com esse cenario vc pode indicar alguma solução??
Grata!
J
jyoshiriro
Você está usando JPA? Hibernate Core? JDBC?
I
izaura
Estou usando JPA.
V
vagner.oliveira2
Faça um flush após o insert
I
izaura
Olá Vagner!
Já fiz , mesmo assim não dá certo.
V
vagner.oliveira2
A chave de sua entidade é gerada no banco ou vc gera na mão?
Se puder mandar o código-fonte de seu managed bean vai facilitar muito nossa tarefa de te ajudar
A
andreharry
Reabrindo essa discussão, estou precisando fazer isso também.
O meu caso é o seguinte, tenho um componente facelets na tela que não conhece quem o chama. Esse componente após executar uma ação, tem que chamar uma outra ação do bean que o requisitou.
<h:form>Selecionarusuario
.......
<h:commandButtonaction="#{beanComponente.executaAcaoDoComponente}"/><!-- APÓS FINALIZAR ESSA AÇÃO PRECISO CHAMAR A OUTRA AÇÃO DO BEAN QUE O CHAMOU --></h:form>
O problema maior é que tem que ser respeitada uma precedência entre as ações. A ação do componente tem que ser chamada primeiro que a ação do bean que o requisitou.