java - 如何使用 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 列表,我想知道是否有一种简单的方法可以在不编写自己的查询的情况下做到这一点?
谢谢
解决方案
@ManyToOne(fetch = FetchType.LAZY)
推荐阅读
- babeljs - 使用带有`useBuiltIns:'usage'`的redux-logger时,对象不支持属性或方法'assign'
- docker - Kafka clean startup: WARN ...领导者回复了一个未知的偏移量
- swift - startMonitoringSignificantLocationChanges() 在物理设备上不起作用
- javascript - 如何使用 Promise 在 TypeScript 中重试加载 MediaElement?
- python-3.x - QThread 中的 Robot Framework 测试未在日志文件中显示变量值
- javascript - 如何使用复选框显示/隐藏数据表中的列?
- javascript - 覆盖 DOM 的 Angular 5 和 jQuery 插件
- angular - Angular 6 html2canvas 正在下载没有扩展名的图像和只有指定纸张大小的 pdf
- javascript - 如何为使用 JEST 进行测试的 ReactJs 应用程序忽略 SONAR 中的文件
- zend-framework - ZF2 - 检查每个操作中获取参数的权限