Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot JPA规范筛选嵌套对象_Spring Boot_Jpa - Fatal编程技术网

Spring boot JPA规范筛选嵌套对象

Spring boot JPA规范筛选嵌套对象,spring-boot,jpa,Spring Boot,Jpa,我试图获取嵌套对象属性,但获取illegalArgument异常 AuditTestingPlanSpecification name = new AuditTestingPlanSpecification(new SearchCriteria("auditPlanId.auditPlanEntity", ":",dates)); Page<AuditTestingPlanMaster> a = auditTestingPlanMasterRepository.fin

我试图获取嵌套对象属性,但获取illegalArgument异常

AuditTestingPlanSpecification name = new AuditTestingPlanSpecification(new SearchCriteria("auditPlanId.auditPlanEntity", ":",dates));
        Page<AuditTestingPlanMaster> a = auditTestingPlanMasterRepository.findAll(name, ten);
类AuditPlanMaster.java

@Entity
@Table(name = "audit_testing_plan_master")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class AuditTestingPlanMaster implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
    @SequenceGenerator(name = "sequenceGenerator")
    private Long id;

    @Column(name = "risk_area_id")
    private Long riskAreaId;

    @Column(name = "expected_revert_date")
    private Instant expectedRevertDate;

    @Column(name = "created_date")
    private Instant createdDate;

    @Column(name = "last_modified_date")
    private Instant lastModifiedDate;

    @JoinColumn(name = "audit_plan_id", referencedColumnName = "id")
    private AuditPlanMaster auditPlanId;

//getters & setters
}
@Entity
@Table(name = "audit_plan_master")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class AuditPlanMaster implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
    @SequenceGenerator(name = "sequenceGenerator")
    private Long id;

    @Column(name = "remarks", length = 255)
    private String remarks;

    @Column(name = "audit_plan_entity", length = 50)
    private String auditPlanEntity;

    @Column(name = "start_date")
    private Instant startDate;

    @Column(name = "end_date")
    private Instant endDate;

    //getters & setters

}
我要获取其AuditPlanMaster.auditPlanEntity字符串与提供的筛选器值匹配的所有AuditTestingPlanMaster对象


提前感谢您的时间和帮助。

我也遇到了同样的问题,下面是我如何处理它的一个片段。我的问题是从内部usuario对象访问id字段时,在我的情况下,id就像您的auditPlanEntity,而usuario就像auditplanMaster:

public static Specification<UsuarioErrorEquipo> usuarioContains(String codigoUsuario) { 
    return (root, query, builder) -> {
        Path<Usuario> u = root.get("usuario");
        return builder.equal(u.get("id"), codigoUsuario);
    };
}
公共静态规范usuarioContains(字符串codigoUsuario){
返回(根、查询、生成器)->{
路径u=root.get(“usuario”);
返回生成器。相等(u.get(“id”)、codigoUsuario);
};
}
我相信,在你的情况下,应该是这样的:

Path<AuditPlanMaster> u = root.get("auditPlanId");
return builder.equal(u.get("auditPlanEntity"), "the value you want to compare");
路径u=root.get(“auditPlanId”); 返回builder.equal(u.get(“auditPlanEntity”),“要比较的值”);
我也有同样的问题,你找到什么了吗?这能回答你的问题吗?
public static Specification<UsuarioErrorEquipo> usuarioContains(String codigoUsuario) { 
    return (root, query, builder) -> {
        Path<Usuario> u = root.get("usuario");
        return builder.equal(u.get("id"), codigoUsuario);
    };
}
Path<AuditPlanMaster> u = root.get("auditPlanId");
return builder.equal(u.get("auditPlanEntity"), "the value you want to compare");