2015-10-10 2 views
0

После обновления пружинных данных от 1.8 до 1.9, я получаю следующее сообщение об ошибке:обновления до весны-данные 1.9

Caused by: java.lang.IllegalStateException: No suitable constructor found on interface com.acme.util.RepositoryEx to match the given arguments: [Ljava.lang.Object;@4ef820c3 
    at org.springframework.data.repository.core.support.RepositoryFactorySupport.getTargetRepositoryViaReflection(RepositoryFactorySupport.java:338) 
    at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:91) 
    at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:71) 
    at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:185) 
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:251) 
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:237) 
    at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:92) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
    ... 87 more 

У меня есть простой класс RepositoryEx как:

public interface RepositoryEx<T, ID extends Serializable> extends JpaRepository<T, ID>, 
     JpaSpecificationExecutor<T> { 

    List<T> findAll(Specification<T> spec, Sort sort, long offset, long count); 


} 

Это мое другие интерфейсы репозитория все наследуют, есть ли что-то еще, что мне нужно добавить?

Спасибо, Джейсон

ответ

1

Я просто столкнулся с этой проблемой. Класс реализации базового репозитория расширяет SimpleJpaRepository и имеет только конструктор с аргументами Class<T> domainClass, EntityManager em. Добавление следующего конструктора решило проблему для меня:

public MyBaseRepositoryImpl(JpaEntityInformation<T, ?> entityInformation, EntityManager entityManager) { 
    super(entityInformation, entityManager); 
} 
+0

Да, это работает! И я получил этот ответ от https://jira.spring.io/browse/DATACMNS-763 – zhuguowei

Смежные вопросы