Collector do Primefaces [RESOLVIDO]

2 respostas
T

Olá pessoal,

Sou novo por aqui e, antecipadamente, desculpem-me por qualquer coisa.

É o seguinte:

1 - tenho duas entidades numa relação UMxMUITOS (Motorista e Telefones do motorista).
2 - Estou utilizando o mapeamento JPA gerado pelo próprio NetBeans.
3 - Fiz uma <p:dataTable> mostrando os motoristas com um botão de alterar que chama um <p:dialog> com os telefones do motoristas.
4 - Nesse <p:dialog> tem um <p:dataTable> com <p:collector> com um link para remover o telefone do motorista:

<p:dataTable id="dataTableMotorista" var="fone" value="#{tbMotoristasController.selected.tbMotoristasFonesList}" emptyMessage="">
	<p:column id="mtfFone" headerText="#{bundle.ListTbMotoristasFonesTitle_tbMotoristasFonesPK_mtfFone}">
			<h:outputText value="#{fone.getTbMotoristasFonesPK().getMtfFone()}" />
	</p:column>
	<p:column>
			<p:commandLink value="Remover" update=":formMotorista:tabView" process=":formMotorista:tabView">
					<p:collector value="#{fone}" removeFrom="#{tbMotoristasController.selected.tbMotoristasFonesList}" />
			</p:commandLink>
	</p:column>
</p:dataTable>

Problema: o telefone é removido MAS não atualiza o banco de dados. Onde posso estar errando?

Ted Wagner

2 Respostas

T

Ops, esqueci essa parte do código de dentro do form onde estão os telefones:

<p:commandButton value="OK" update=":formMotoristas:dataTableMotoristas" oncomplete="dialogoMotorista.hide();" actionListener="#{tbMotoristasController.update()}" />

Agradeço qualquer ajuda.

T

Pessoal,

Bastou apenas adicionar “orphanRemoval=true” no relacionamento que funcionou:

@OneToMany(cascade = CascadeType.ALL, mappedBy = "tbMotoristas", fetch = FetchType.LAZY, orphanRemoval=true)

Bye.

Criado 24 de abril de 2012
Ultima resposta 26 de abr. de 2012
Respostas 2
Participantes 1