Я пытаюсь инстанцировать универсального класса в Spring, но я получаю следующее исключение:
Инициализация боба перестала работать; вложенная исключительная ситуация является org.springframework.aop.framework. AopConfigException: не Мог генерировать подкласс CGLIB класса [класс football.dao.jpa. GenericJpaDAO]: Частые причины этой проблемы включают использование заключительного класса или невидимого класса; вложенная исключительная ситуация является java.lang. IllegalArgumentException: суперкласс не имеет никаких пустых конструкторов, но никакие аргументы не были даны:
Это - конфигурация XML для контейнера 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>
Это - универсальный класс:
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
}
Я не действительно уверен, что могло вызывать это. Я ценил бы любые идеи.