此问题已在此处有答案:
Spring JPA native query with Projection gives "ConverterNotFoundException"(5个答案)
上个月关门了。
我的实体:
@Entity(name = "Car")
@Table(name = "Car")
@Builder
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class CarEntity
{
private final String identification;
private final String attribute_2;
private final String attribute_3;
private final String attribute_4;
private final String attribute_5;
private final String attribute_6;
}
Dto还有两个属性。
我的DTO:
@RequiredArgsConstructor
@Builder
@Getter
@Setter
public class CarDto
{
private final String identification;
private final String attribute_2;
private final String attribute_3;
private final String attribute_4;
private final String attribute_5;
private final String attribute_6;
private final String childCarIdentification;
private final String parentCarIdentification;
}
@Entity(name = "CarRelation")
@Table(name = "CarRelation")
@IdClass(CarRelationId.class)
@Builder
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class CarRelationEntity
{
@Id
private String carIdentification;
@Id
private String subCarIdentification;
}
CarRelationId
:
@Builder
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class CarRelationId implements Serializable
{
private String carIdentification;
private String subCarIdentification;
}
Carpet Dto:
@RequiredArgsConstructor
@Builder
@Getter
@Setter
public class CarRelation
{
private final String carIdentification;
private final String subCarIdentification;
}
我的存储库:
@Repository
public interface JpaCarRepository extends JpaRepository<CarEntity, String>
{
@Query("""
SELECT c.identification, c.attribute_2, c.attribute_3, c.attribute_4,
c.attribute_5, c.attribute_6, cr.subCarIdentification AS childCarIdentification, cr_1.carIdentification AS parentCarIdentification
FROM Car c LEFT OUTER JOIN
CarRelation cr ON cr.carIdentification = c.identification LEFT OUTER JOIN
CarRelation AS cr_1 ON c.identification = cr_1.subComponentIdentification
WHERE (c.identification = :identification )
""")
Optional<CarDto> findByIdentification(@Param("identification ") String identification );
错误:
No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [path.to.object.Car]
如何将Sql-Result转换为CarDto
对象,以及如何将结果传递给Dto对象
1条答案
按热度按时间im9ewurl1#
按照here的说明使用@SqlResultSetMapping