首页 > 解决方案 > 如何使用 Spring CrudRepository 忽略表上的关系

问题描述

我有两个表,表 A 有几个带有项目 id 的列,表 B 关联到表作为外键 A 的项目 id 的多对一关系,现在我正在使用 Spring CrudRepository 试图查找表 A 中的所有数据,我需要所有列和所有行,但我不想要表 B 中的任何内容,因为此时它们对我来说没用,当我在 CrudRepository 中使用 findall 时,有什么方法可以配置让它忽略关系,让它只返回纯表 A 数据?

我有一个控制器

@GetMapping
  public ResponseEntity<List<A>> findAll()
  {
     final List<A> aList = AService.findAll();

    final List<AResource> aResourceList = new ArrayList<>();

    for (final A a: aList)
    {
      aResourceList.add(new aResource(a));
    }
    return new ResponseEntity<>(aResourceList, HttpStatus.OK);
  }

服务

public List<A> findAll()
  {
    final List<A> aList = new ArrayList<>();

    aRepository.findAll().forEach(a -> aList.add(a));

    return aList;
  }

然后存储库

public interface aRepository extends CrudRepository<A, long>
{
}

所以现在如果我运行它,它将从表 A 中获取 A 以及与每个表关联的 B 列表,我想知道是否有一种简单的方法可以在不编写自己的查询的情况下做到这一点?

谢谢

标签: javaspringspring-data-jpa

解决方案


 @ManyToOne(fetch = FetchType.LAZY)

推荐阅读