Spring JPA数据存储库通用实现示例

时间:2018-09-18 14:50:13

标签: java spring-boot spring-data-jpa spring-data

是否可以创建一个通用的Repository接口以将POJO保存在我的spring-data项目中?

我有大约50个不同的对象,我不想为每个pojo之一创建50个相应的存储库接口?

例如

import json

raw = '[{"id":"1","num":"2182","count":-17},{"id":"111","num":"3182","count":-202},{"id":"222","num":"4182","count":12},{"id":"33333","num":"5182","count":12}]'
json_data = json.loads(raw)

size_of_half = len(json_data)/2

print json_data[:size_of_half]
print json_data[size_of_half:]

以此类推...

我确实在该网站上看到了类似的问题,但没有一个很好的例子。

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为唯一的方法是创建一个@NoBeanRepository,因为Spring存储库的主要目标是提供用户友好的界面来操纵实体。但是在这种情况下,您的实体必须具有相同的属性。

@NoRepositoryBean
public interface SortOrderRelatedEntityRepository<T, ID extends Serializable>
    extends SortOrderRelatedEntityRepository<T, ID> {

  T findOneById(Long id);   

  List<T> findByParentIdIsNullAndSortOrderLessThanEqual(Integer sortOrder);

  /** and so on*//
}

public interface StructureRepository
    extends SortOrderRelatedEntityRepository<Structure, Long> {

  Structure findOneById(Long id);

  List<Structure> findByParentIdIsNullAndSortOrderLessThanEqual(Integer sortOrder);

  /** and so on*//  
}