У меня есть две сущности JPA (Product, ProductCustomer) и соответствующие репозитории JPA (ProductRepository, ProductCustomerRepository).Мой вариант использования заключается в том, чтобы вызвать метод findAll () обоих репозиториев и записать набор результатов в excel.
Вместо автоматического подключения каждого репозитория (репозитории могут расти в будущем) и вызова метода findAll, я хочуоберните объект сущности и объект репозитория универсальным объектом, который будет использоваться для вызова метода findAll каждого репозитория.
Например:
public class GenericEntity {
}
@Entity
@Table(name="Product")
public class Product extends GenericEntity{
}
GenericRepository:
public interface GenericRepository<T extends GenericEntity> extends JpaRepository<T, Integer> {
}
ProductRepository:
public interface ProductRepository extends GenericRepository<Product>{
}
Выполнение метода во время запуска:
GenericRepository repo = (GenericRepository) context.getBean("productRepository");
List<GenericEntity> dataList = repo.findAll();
Когда я пытаюсь это сделать, JPA ожидает аннотации @Entity и @Id для оболочки (GenericEntity).Есть ли способ, которым я могу достичь этого варианта использования с помощью обобщений Java?