在抽象存储库上为特定实体调用findAll

时间:2018-12-25 21:01:25

标签: spring hibernate spring-boot jpa

我目前有一个抽象的GenericEntity和一个GenericRepository。 在最终的应用程序中,将有未定义数量的实体存储库,它将扩展通用存储库。现在我有DemoEntity1和DemoEntity2。 我想创建一个单一的方法,该方法将接收实体的名称(以及如果需要的话,有关该实体的其他信息)作为参数,并将返回一个包含数据库中所有实体的列表。

我该怎么做? 我可以创建一个地图,然后按实体名称查找存储库吗?如果可以,我什么时候应该填充它?

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class GenericEntity implements Serializable{
   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   private Long id;
}

@NoRepositoryBean
public interface GenericRepository<T extends GenericEntity> extends JpaRepository<T ,Long>,JpaSpecificationExecutor {

@Override
List<T> findAll();

@Override
List<T> findAll(Specification specification);
}

0 个答案:

没有答案