Problema ao instanciar o bean de classe genérico no Spring
Estou tentando instanciar uma classe genérica no Spring, mas recebo a seguinte exceção:
Falha na inicialização do bean; a exceção aninhada é org.springframework.aop.framework.AopConfigException: não foi possível gerar a subclasse CGLIB da classe [classe football.dao.jpa.GenericJpaDAO]: causas comuns desse problema incluem o uso de uma classe final ou de uma classe não visível; A exceção aninhada é java.lang.IllegalArgumentException: a superclasse não possui construtores nulos, mas nenhum argumento foi fornecido:
Esta é a configuração XML para o contêiner Spring:
<bean id="clubDAO" class="football.dao.jpa.GenericJpaDAO">
<constructor-arg type="EntityManagerFactory" ref="entityManagerFactory"/>
<constructor-arg type="Class" value="football.model.entities.ClubEntity"/>
<constructor-arg type="String" value="ClubEntity"/>
</bean>
Esta é a classe genérica:
public class GenericJpaDAO <T extends HavingID> {
private EntityManager em;
private Class entityClass;
private String entityName;
public GenericJpaDAO( Class entityClass, String entityName,
EntityManagerFactory emFactory ) {
this.entityClass = entityClass;
this.entityName = entityName;
em = emFactory.createEntityManager();
}
@Transactional
public void create( T entity ) {
em.persist( entity );
}
// more methods
}
Não tenho muita certeza do que poderia estar causando isso. Eu apreciaria todas as idéias.