PostgreSQL中的一个与人的关系以及如何测试IT

问题描述 投票:0回答:1
record ParentEntity(@Id Long id, other fields, @MappedCollection(idColumn = "parent_table_id") Set<ChildEntity> childField){} record ChildEntity(String childField){}

在手动测试时,一切都很好。问题是我需要对此进行测试。我尝试使用
LEFT JOIN

这是我用来解决它的查询:
"SELECT pt.*, ct.child_table " +
            "FROM parent_table pt " +
            "LEFT JOIN child_table ai ON ct.parent_table_id = pt.id " +
            "WHERE pt.position_id = ?"

但问题是,这将为我提供两行,除了子列以外,这不是我们想要的,我们只想拥有一行,因为父型实体采用了一个
任何想法?该框架负责生产代码,我真的不知道该如何处理测试。

您在正确的轨道上,使用
SpringDataJDBC

在PostgreSQL中建立了

。使用
java postgresql jdbc spring-data one-to-many
1个回答
0
投票
时,您面临的问题很常见,它会重复每个孩子的父行,这并不理想,因为您使用了

Set<ChildEntity>.。 由于Spring Data JDBC会在获取父级时自动映射儿童实体,因此您不需要手动加入表。而不是直接获取父实体或分别获取子记录。 从parent_table中选择 * position_id =?;或从child_table中选择 * parent_table_id =?;

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.