Problemas com ManagedBean JSF

Bom, tenho a seguinte classe ManagedBean abaixo

package br.com.odontonew.mb;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;

import br.com.odontonew.bean.AbstractBean;
import br.com.odontonew.bean.Dentista;
import br.com.odontonew.bo.BasicBO;

@ManagedBean(name="dentistaMB")
@ViewScoped
public class DentistaMBImpl extends BasicMBImpl {
	
	@ManagedProperty("#{basicBO}")
	private BasicBO basicBO;
	private Dentista dentista;
	private List<Dentista> dentistas;
	private boolean editMode;
	
	public Dentista getBean(){
		if (dentista == null)
			dentista = new Dentista();
		
		return dentista;
	}
	
	public void salvar(){
		if (dentista.getId() == null){
		 dentista = (Dentista) basicBO.save(dentista);
		 addInfoMessage("Dentista salvo com sucesso");
		}else{
			basicBO.update(dentista);
			addInfoMessage("Dentista atualizado com sucesso");
		}
	}
	
	public void deletar(){
		basicBO.delete(dentista);
		addInfoMessage("Dentista deletado com sucesso");
	}
	
	public void criar(){
		this.dentista = new Dentista();
		this.editMode = true;
	}
	
	public void atualizar(){
		this.editMode = true;
	}
	
	public void cancelar(){
		this.editMode = false;
	}
	
	public List<Dentista> getDentistas(){
		if (dentistas == null)
			dentistas = (List<Dentista>) basicBO.findAll(Dentista.class);
		
		System.out.println(dentistas.get(0).getCro());
		
		return dentistas;
	}

	public BasicBO getBasicBO() {
		return basicBO;
	}

	public void setBasicBO(BasicBO basicBO) {
		this.basicBO = basicBO;
	}

	public Dentista getDentista() {
		return dentista;
	}

	public void setDentista(Dentista dentista) {
		this.dentista = dentista;
	}

	public boolean isEditMode() {
		return editMode;
	}

	public void setEditMode(boolean editMode) {
		this.editMode = editMode;
	}	
	
}

Ele carrega o Dentista e da um “System.out.println” normalmente mostrando que foi carregado o objeto. Porém ao tentar usá-lo no View para mostrar uma lista de dentistas ele não funciona, da o seguinte erro: /tabelas/dentistas.xhtml @17,82 rowKey="#{dentista.cro}": Property ‘cro’ not found on type java.lang.String

Veja minha pagina dentistas.xhml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<h:head>

</h:head>
<h:body>
	<ui:composition template="/templates/template.xhtml">

		<ui:define name="content">		
			<h:form id="formDentistas">
				<p:dataTable var="dentista" value="#{dentistaMB.dentistas}" rowKey="#{dentista.cro}" paginator="true" rows="10" 
				selection="" selectionMode="single" filteredValue="" id="dataTableDentistas">
				
				<f:facet name="header">Lista de Dentistas</f:facet>
				<p:column headerText="Nome" sortBy="nome" filterBy="nome" id="nome">
					#{dentista.cro}
				</p:column>
				
				<p:column headerText="CRO" sortBy="cro" filterBy="cro" id="cro">
					#{dentista.cro}
				</p:column>
				
				</p:dataTable>				
			</h:form>
			
			
		</ui:define>
	</ui:composition>


</h:body>
</html>

O erro está neste trecho:

rowKey="#{dentista.cro}"

Qual o tipo retornado do método cro?

Tenta instanciar o seu bean no ManagedBean:

private Dentista dentista = new Dentista(); //Na linha 20

Cro retorna string amigo.