小编nic*_*ola的帖子

使用通用实体的Spring JpaRepository

我正在尝试实现这样的通用DAO,以将其与X实体(ID,代码,描述)非常相似:

@Repository
public interface GenericDao<T> extends JpaRepository<T, Long> {

    T findByCode(String code);
    T findById(Long id);
}
Run Code Online (Sandbox Code Playgroud)

我的实体之一是这样的:

@Getter
@Setter
@Entity
@Table(name = "TEST")
public class Test {...}
Run Code Online (Sandbox Code Playgroud)

我有一个需要使用Dao的服务:

@Service
public class TestServiceImpl implements TestService {

    private GenericDao<Test> testDao;

    @Autowired
    public TestServiceImpl(GenericDao<Test> testDao) {
        this.testDao = testDao;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用SpringBoot启动我的应用程序时,该应用程序无法启动,并且错误是:

Caused by: org.springframework.beans.factory.BeanCreationException: Error     creating bean with name 'genericDao': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not an managed type: class java.lang.Object
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at …
Run Code Online (Sandbox Code Playgroud)

java generics spring hibernate spring-data-jpa

2
推荐指数
2
解决办法
3267
查看次数

标签 统计

generics ×1

hibernate ×1

java ×1

spring ×1

spring-data-jpa ×1