如何在Springboot Mongo库中为嵌套对象做Findby



在Spring DataCrudRepository中需要您的帮助,了解如何做嵌套字段的findby。我的类是以下结构,我需要使用truckId查询,这是嵌套对象

@Document(collection = "unt-truck")
public class TruckModelDTO {
private String type;
private TestDTO testDTO;
}

TestDTO.java

public class TestDTO{
private TruckDTO truckDTO;
Private String version;
}

TruckDTO.java

public class TruckDTO {
private String truckId;
private String legacySystem;
}

TruckRepository.java

@Repository
public interface TruckRepository extends MongoRepository<TruckModelDTO, String> {

// TruckModelDTO findByTruckId(String truckid);
}

那么我应该如何使用findbytruckId这是一个嵌套类内?

您可以使用实体或DTO作为响应。但是你必须根据你的要求提到两个或三个实体之间的关系。

我已经创建了实体。你必须基于相同的实体创建DTO,然后在JPA Repository查询中应用主DTO作为返回类型。

1。实体

@Entity
public class TruckModel {
private String type;
// mention the relation based on your requirement
private Test test;
}
  • 实体
  • @Entity
    public class Test {
    // here mention the relation based on you requirement
    private Truck truck;
    Private String version;
    }
    

    3。实体

    @Entity
    public class Truck {
    private String truckId;
    private String legacySystem;
    }
    
    4
  • @Repository
    public interface TruckModelRepository extends 
    MongoRepository<TruckModel, String> {
    TruckModelDTO findByTestTruckTruckId(String truckid);
    }
    

    最新更新