Dúvida DAO Genérico

Bom dia pessoal.

Estava dando uma olhada no dao genérico do blog do Urubatan http://www.urubatan.com.br/dao-generico-um-exemplo-a-pedidos/ e resolvi tentar implementar aqui modificando para utilização com JPA.
Acontece que não estou conseguindo definir a classe abstrata que implementa a interface genérica dos DAOs.
Abaixo (um resumo) a Interface e a Classe Abstrata, do jeito que está no blog.

public interface GenericBaseDaoJpa<T, PK  extends Serializable> {
	
	T findByPrimaryKey(PK primaryKey);
	
}

// Aqui diz que T e PK não podem ser resolvidos
public abstract class AbstractBaseDaoJpa extends JpaDaoSupport implements GenericBaseDaoJpa<T, PK> {

       // Aqui diz que T e PK não podem ser resolvido
	public T findByPrimaryKey(PK primaryKey){
		// TODO
		return null;
	}

}

Tentei outras alternativas tipo

// Agora o erro muda: Bound mismatch: The type PK is not a valid substitute for the bounded parameter <PK extends Serializable> of the type GenericDaoJpa<T,PK>
public abstract class AbstractBaseDaoJpa<T, PK> extends JpaDaoSupport implements GenericBaseDaoJpa<T, PK> {
  
      // Aqui some o erro
	public T findByPrimaryKey(PK primaryKey){
		// TODO
		return null;
	}

}

WTF?

Obrigado!!!

http://blog.caelum.com.br/2006/08/26/ei-como-e-o-seu-dao-ele-e-tao-abstraido-quanto-o-meu/