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