Сортировать по встроенному идентификатору в данных Spring - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть класс, у которого есть @EmbeddedId

@Entity
public class Samples {

    @EmbeddedId
    public SampleId id;

    @MapsId("samplingId")
    @ManyToOne(optional = false)
    private Samplings sampling;

}

@Embeddable
public class SampleId implements Serializable{

    private Integer samplingId;
    private String sampleLetter;

    public SampleId() {

    }

    public SampleId(Integer samplingId, String sampleLetter) {
        this.samplingId = samplingId;
        this.sampleLetter = sampleLetter;
    }
}

В примере базы данных samplingId - это позиция 0, а sampleLetter - это позиция 1;

В подкачке Spring Data JPA, если я делаю сортировку по идентификатору, я получаю

Order by
        samples0_.sample_letter,
        samples0_.sampling_id asc

Таким образом, Spring Data JPA, похоже, не использует поле позиции базы данных

Я ищу, чтобы получить

Сортировать по samples0_.sampling_id, samples0_.sample_letter asc

Я пытался сделать: id.samplingId, id.sampleLetter Я получаю эту ошибку:

Сортировать выражение 'id.sampleLetter: ASC' должно содержать только свойство ссылки или псевдонимы, используемые в предложении select

...