我将一个实体嵌入另一个实体,如下所示。
存储库在DepEntity上创建。
我正在尝试检索按DepEntity列排序的totalExp对象
ExpEntity中。
我正在使用Pageable进行GET调用并收到错误消息:


  2018-12-18 05:17:58.172警告7 --- [http-nio-8000-exec-3] .mmaExceptionHandlerExceptionResolver:已解决[org.springframework.data.mapping.PropertyReferenceException:没有发现类型为DepEntity的属性totalExp! ]


我尝试使用totalExpexp.totalExpexp_totalExp,但它们均无效。 spring data jpa版本是2.1.1

@Entity
public class DepEntity {
    @Embedded
    private ExpEntity exp;
}

@Embeddable
public class ExpEntity {
    @Column(name = "exp_total")
    private BigDecimal totalExp;
}


我期望结果在嵌套属性totalExp上以排序的顺序进行。
有没有办法做到这一点?

最佳答案

下面应该工作:

Sort sort = new Sort(Direction.DESC, "exp.totalExp");
PageRequest pageRequest = PageRequest.of(0, 10, sort);
Page<DepEntity> depEntities  = depEntityRepository.findAll(pageRequest);

07-26 03:48