Как написать метод запроса для сортировки результатов на основе поля, которое является частью родительской сущности данных весны jpa - PullRequest
0 голосов
/ 28 февраля 2019

В весенних данных JPA мы можем написать методы запроса для выполнения запроса.У меня есть две сущности

class A {
    @Id
    @Column
    private String id;

    private String name;

    @ManyToOne
    @JoinColumn(name = "b_field")
    private B b;
}

class B {
    @Id
    @KeyField
    @Column
    private String id; 

    private String b_field
}

Я хочу написать метод запроса "findByNameOrderByb_field", то есть найти все строки с указанным именем и упорядочить результаты на основе поля класса B, т. Е. B_field.Запись вышеупомянутой функции не возвращает упорядоченные результаты.Можно ли как-нибудь написать этот метод запроса orderby при весенней загрузке.

public interface ARepository extends CrudRepository<A, String> {

    List<A> findByNameOrderByb_field(String name);
}

вышеупомянутая функция не возвращает упорядоченные результаты, основанные на b_field поля B.

1 Ответ

0 голосов
/ 28 февраля 2019

Чтобы получить доступ к свойствам B, вы должны включить имя поля B в объявление метода запроса.

public interface ARepository extends CrudRepository<A, String> {

    List<A> findByNameOrderByb_b_field(String name);
}

Дополнительная информация о том, как SpringData разрешает вложенные свойства, может быть найдена в:

выражения свойств запроса

...