在我的应用程序中,我们使用的是Spring Data JPA,因此我们不必手动编写所有基本的CRUD操作 .
但是,现在我们正在添加我们的CUSTOM DAO层,我们将在每个实体中拥有所有CRUD操作,它将委托调用底层的Spring Data JPA .
例如,Entity:User.java DAO:UserDao.java Impl:UserDaoImpl.java
在UserDaoImpl.java中,我们定义了类似的API
-
save(用户)
-
删除(用户)
-
findUser(id)
上面的apis委托调用Spring Data JPA之类的
public User save(USER user) {
userRepository.save(user);
}
上面工作正常,但我需要为每个实体创建 Dao 和 DaoImpl ,就像我定义Spring Data JPA存储库一样 . 我想避免这个 .
我想实现一些GENERIC DAO 和 DAOImpl 之类的
public GenericDaoImpl<T,ID>{
public User save(T) {
${SPRING_DATA_JPA_REPOSITORY}.save(T);
}
}
$ 我陷入了困境,在 GenericDaoImpl 中,我希望获得Spring Data JPA的底层某些存储库bean,我可以将其委托给所有CRUD操作 .
任何的想法 ?
我知道, SimpleJpaRepository 执行所有CRUD操作,但我不知道如何在我的 GenericDaoImpl 中使用它 .
请建议 .