EJB ClassCastException

Galera ta dando um erro no ManagedBean… alguém podem me ajudar ?

[code]@Stateless
@Local(IDao.class)
public class DaoImpl implements IDao {

@PersistenceContext(name="NOCP")
private EntityManager entityManager ;

public List pesquisar(T t) {

	try{
		
		Query query = entityManager.createQuery("from " + t.getClass().getName());
		return query.getResultList();
		
	}catch(Exception e){
		e.printStackTrace();
		return null ;
	}
		
}

[/code]

[code]@Name(“alertaHandler”)
@Scope(ScopeType.SESSION)
public class AlertaHandler {

private Alerta alerta ;

private IDao<Defeito> daoDefeito ;

@NotEmpty
private String descricao ;

@NotEmpty
private String defeito ;

private List<SelectItem> defeitos ;

@PostConstruct
public void initialize(){
	
	try {
		InitialContext initialContext = new InitialContext();
		daoDefeito = (IDao<Defeito>) initialContext.lookup("xnocp-ear/DaoImpl/local");
	} catch (NamingException e) {
		e.printStackTrace();
	}
	
	carregaDefeitos();
	
}

public void carregaDefeitos(){
	
	List<Defeito> listaDefeitos = daoDefeito.pesquisar(new Defeito());
	
	defeitos = new ArrayList<SelectItem>();
	
	for (int x = 0 ; x < listaDefeitos.size(); x++)
		defeitos.add(new SelectItem(listaDefeitos.get(x).getDefeitoPK().getCod_defeito(), listaDefeitos.get(x).getDes_defeito()));
	
}[/code]

no for da esse erro :

Caused by: java.lang.ClassCastException: br.brasif.entity.Defeito cannot be cast to br.brasif.entity.Defeito at br.brasif.handler.AlertaHandler.carregaDefeitos(AlertaHandler.java:57) at br.brasif.handler.AlertaHandler.initialize(AlertaHandler.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) at org.jboss.seam.Component.callComponentMethod(Component.java:2249) at org.jboss.seam.Component.callPostConstructMethod(Component.java:2196) at org.jboss.seam.intercept.JavaBeanInterceptor$1.proceed(JavaBeanInterceptor.java:133) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocatio

Galera resolvido mudei o EJB pra @Remote, e funcionou, só não entendi o pq… pq estão ambos rodando na mesma JVM… alguém sabe ?

Isso pode ocorrer devido o fato do seu Servidor de Aplicação usar um classloader proprio, o que faz com que a mesma classe possa estar carregada em 2 lugares ao mesmo tempo mas tenha uma identificação diferente em cada uma.