Java 无法使用JPA定位属性

Java 无法使用JPA定位属性,java,spring,spring-data-jpa,jpa-criteria,Java,Spring,Spring Data Jpa,Jpa Criteria,我需要验证binUse的acronym属性是否等于BinUseAcronym.FPAN.toString()。我需要访问binUse.acronym 产品箱 @Id @Column(name = "ID") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "BIN_USE_ID", nullable = false) private BinUse binUse; 宾努斯 @Id @Column pri

我需要验证binUse的acronym属性是否等于BinUseAcronym.FPAN.toString()。我需要访问binUse.acronym

产品箱

@Id
@Column(name = "ID")
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "BIN_USE_ID", nullable = false)
private BinUse binUse;
宾努斯

@Id
@Column
private Long id;
@Column
private String acronym;
我的标准问题

ProductBin productBin = this.productBinRepository.findOne(new Specification<ProductBin>() {
    @Override
    public Predicate toPredicate(Root<ProductBin> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
        List<Predicate> listPredicate = new ArrayList<>();
        listPredicate.add(cb.equal(root.get("start"), bin.getStart()));
        listPredicate.add(cb.equal(root.get("end"), bin.getEnd()));
        listPredicate.add(cb.equal(
            root.get("BinUse_.acronym"), BinUseAcronym.FPAN.toString())
        );

        return cb.and(listPredicate.toArray(new Predicate[listPredicate.size()]));
    }
});

我如何解决此错误?

BinUse\uu缩写词
应该做什么?
ProductBin
中是否有名为
BinUse\ucode>的属性?如果您想引用
ProductBin.binUse.acronym
,只需使用
root.join(“binUse”).get(“acronym”)
@crizzisExactly@crizzis
root.join(“binUse”).get(“首字母缩写”)
root.get(“binUse”).get(“首字母缩写”)
之间有什么区别?在这种情况下几乎没有区别
join
只是明确表示此处引用的是关系(而不是简单的)属性。可以将其视为与JPQL等价:
selectp FROM ProductBin p JOIN p.binUse b WHERE b…
vs
selectp FROM ProductBin p WHERE p.binUse…
应该做什么?
ProductBin
中是否有名为
BinUse\ucode>的属性?如果您想引用
ProductBin.binUse.acronym
,只需使用
root.join(“binUse”).get(“acronym”)
@crizzisExactly@crizzis
root.join(“binUse”).get(“首字母缩写”)
root.get(“binUse”).get(“首字母缩写”)
之间有什么区别?在这种情况下几乎没有区别
join
只是明确表示此处引用的是关系(而不是简单的)属性。将其视为与JPQL等价:
selectp FROM ProductBin p JOIN p.binUse b WHERE b…
vs
selectp FROM ProductBin p WHERE p.binUse…
InvalidDataAccessApiUsageException: Unable to locate Attribute  with the the given name [BinUse_.acronym] on this ManagedType [com.edenred.commons.domain.ProductBin];