fix smart loading candidate result mapping

This commit is contained in:
2026-08-24 10:51:49 +08:00
parent 938c5771b3
commit c8574326dd
2 changed files with 5 additions and 26 deletions
@@ -2,7 +2,6 @@ package com.baiyue.firstleg.repository;
import com.baiyue.firstleg.mapper.SmartLoadingCandidateMapper;
import com.baiyue.firstleg.dto.SmartLoadingDtos.Candidate;
import org.apache.ibatis.annotations.AutomapConstructor;
import org.apache.ibatis.annotations.Select;
import org.junit.jupiter.api.Test;
@@ -12,15 +11,9 @@ import static org.assertj.core.api.Assertions.assertThat;
class SmartLoadingCandidateMapperContractTest {
@Test
void canonicalCandidateConstructorIsTheUniqueMybatisAutomapTarget() {
long annotated = java.util.Arrays.stream(Candidate.class.getDeclaredConstructors())
.filter(constructor -> constructor.isAnnotationPresent(AutomapConstructor.class))
.count();
assertThat(annotated).isEqualTo(1);
assertThat(java.util.Arrays.stream(Candidate.class.getDeclaredConstructors())
.filter(constructor -> constructor.isAnnotationPresent(AutomapConstructor.class))
.findFirst().orElseThrow().getParameterCount()).isEqualTo(18);
void candidateHasOnlyTheCanonicalMybatisConstructor() {
assertThat(Candidate.class.getDeclaredConstructors()).singleElement()
.satisfies(constructor -> assertThat(constructor.getParameterCount()).isEqualTo(18));
}
@Test