Я попытался найти свою проблему в SO, но не смог найти ту, которая соответствует моей проблеме. Итак, давайте возьмем простой пример, в котором у меня есть класс сущностей и класс составного первичного ключа (встроенный).
@Embeddable
public class EmployeeId implements Serializable {
@NonNull
@Column(name = "start_date")
private String startDate;
@Column(name = "stop_date")
private String stopDate;
@Column(name = "empId")
private int empId;
@Column(name = "ssn")
private String ssn;
}
Класс сущности:
@Entity(name = "employee")
public class EmployeeEntity {
@EmbeddedId
private EmployeeId employeeId ;
@Column(name = "fName")
private String fName;
@Column(name = "lName")
private String lName;
}
Класс репозитория:
@Repository
public interface EmployeeRepository extends JpaRepository<EmployeeEntity, EmployeeId> {
// The below method works and I can see the result sorted by first names
List<EmployeeEntity> findByEmployeeId_EmpIdAndEmployeeId_SsnOrderByFNameDesc(int empId, String ssn);
// However let's say I want to order by start_date desc, I am not able to create the right method name here.
}
Мой вопрос в комментариях выше: как мне упорядочить или отсортировать, используя атрибут, присутствующий во встроенном классе идентификаторов, используя возможности JPA, такие как метод сортировки по имени, как показано выше?