Carregar lista Lazy e exibi-la em um <p:dataTable

Boa noite, gostaria de uma ajuda e vocês, já pesquisei bastante sobre o assunto mas ainda não entendi muito bem sobre isso.

Preciso carregar uma lista lazy e exibir os dados em um <p:dataTable que está dentro de um <p:dialog e da forma que estou fazendo não dá mensagem de erro porém nada é exibido, estou usando jpa. Alguém sabe me dizer no que estou errando?.

[]s

repositorio:

public List<Pessoa> todosCompleta() {
  try {
TypedQuery<Pessoa> query = manager.createQuery(
    "SELECT  DISTINCT p FROM Pessoa p JOIN p.infoCriminal ic LEFT JOIN FETCH p.infoCriminal JOIN p.abordagem ab LEFT JOIN FETCH p.abordagem", Pessoa.class);					
		return query.getResultList();
	} catch (NoResultException nre) {
		return null;
	}
}

.xhtml

 <p:commandLink id="btnInfoCriminal" action="
      #{consultaPessoasCompletaBean.listaInfoCriminal}" onclick="PF('dlgInfoCriminal').show();"
     style="margin-right:20px;">
	
         <h:outputText value="Informação Criminal" />

      <f:setPropertyActionListener value="#{pessoa}"
              target="#{consultaPessoasCompletaBean.pessoa}" />

</p:commandLink>

<p:dataTable
	value="#{consultaPessoasCompletaBean.listaInfoCriminal}" var="ic"
	scrollable="true" scrollWidth="1300" border="1" cellspacing="0"
	cellpadding="2" paginator="true" rows="5"
	paginatorPosition="bottom">

	<p:column headerText="Data da Ocorrência" width="25%"
		sortBy="#{ic.dataOcorrencia}">
		<h:outputText value="#{ic.dataOcorrencia}">
			<f:convertDateTime dateStyle="long" pattern="dd/MM/yyyy" />
		</h:outputText>
	</p:column>

	<p:column headerText="Artigo" width="25%">
		<h:outputText value="#{ic.artigo}" />
	</p:column>

	<p:column headerText="Cidade" width="25%">
		<h:outputText value="#{ic.cidade}" />
	</p:column>

	<p:column headerText="Observação" width="25%">
		<h:outputText value="#{ic.obs}" />
	</p:column>

</p:dataTable>

model Pessoa:

@Entity
@Table(name="pessoa")
public class Pessoa implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;

private String fotoPerfil;
private String nome;
private String vulgo;
private String rg;
private String estadoRg;
private String cpf;
private Date nascimento;
private String nomeMae;
private String nomePai;
private String logradouro;
private String numero;
private String bairro;
private String cidade;
private String estados;
private Date dataCadastro;
private List<Foto> foto;
private List<InfoCriminal> infoCriminal;
private Set<Abordagem> abordagem;
private Funcionario funcionario;

Controller:

public void infoCriminal() {		
	listaInfoCriminal.addAll(pessoa.getInfoCriminal());		
}

Resolvi o problema colocando update=":dlg" no button.

[]s