繁体   English   中英

Spring 数据 JPA - 方法名称 - @ManyToOne

[英]Spring Data JPA - Method Name - @ManyToOne

我有一个实体 CpoPipeline,它与 CpoEnvironment 的关系为 ManyToOne:

@Entity
@Table(name = "cpo_pipeline", catalog = "cup_orchestrator")
public class CpoPipeline implements java.io.Serializable {
    private String pipelineId;
    private String pipelineName;
    private CpoEnvironment cpoEnvironment;

    @Column(name = "pipeline_id", unique = true, nullable = false)
    public String getPipelineId() {
        return this.pipelineId;
    }

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "environment_id", nullable = false)
    public CpoEnvironment getCpoEnvironment() {
        return this.cpoEnvironment;
    }
    //Getters and Setters
}

实体 CpoEnvironment:

@Entity
@Table(name = "cpo_environment", catalog = "cup_orchestrator")
public class CpoEnvironment implements java.io.Serializable {

    private String environmentId;
    private String environment;
    private Set<CpoPipeline> cpoPipelines = new HashSet<CpoPipeline>(0);

    @Id
    @Column(name = "environment_id", unique = true, nullable = false)
    public String getEnvironmentId() {
        return this.environmentId;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "cpoEnvironment")
    public Set<CpoPipeline> getCpoPipelines() {
        return this.cpoPipelines;
    }

    //Getters and Setters
}

此实体的存储库具有方法名称:

@Repository
public interface PipelineRep extends JpaRepository<CpoPipeline, String> {

    Optional<CpoPipeline> findByPipelineIdAndEnvironmentId(String pipelineId, String environmentId);

}

错误:原因:org.springframework.data.mapping.PropertyReferenceException:没有找到类型 CpoPipeline 的属性 environmentId

如何使用实体中的一个字段和关系中的一个字段创建方法名称? 可能吗?

是的,可以使用CpoEnvironment实体的environmentId使用这种方式CpoEnvironmentEnvironmentId

Optional<CpoPipeline> findByPipelineIdAndCpoEnvironmentEnvironmentId(String pipelineId, String environmentId);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM