У меня небольшая проблема с сортировкой. После того, как я начал использовать EntityGraph, он решил мою проблему с дублированными результатами и т. Д., И все работает нормально, но это сортировка заданий по их идентификаторам.
Есть ли способ сделать задания сортировки по именам по именам?
Я пытался использовать Service.job.name, но результаты совпадают, и я думаю, что это просто имя для графика ...
Служебный объект (другие поля удалены для сокращения):
@NamedEntityGraph(name = "Service.job" ,attributeNodes = @NamedAttributeNode("jobs"))
@Entity
@Data
@Table(name = "service")
public class Service {
...
@ManyToMany(targetEntity = Job.class)
@JoinTable(name = "service_has_job",
joinColumns = { @JoinColumn(name = "service_id", referencedColumnName = "id")},
inverseJoinColumns = { @JoinColumn(name = "job_id", referencedColumnName = "id")}
)
private Set<Job> jobs = new HashSet<>();
...
}
ServiceRepository с переопределенной функцией findAll:
@Repository
public interface ServiceRepository extends JpaRepository<Service, Long>, JpaSpecificationExecutor<Service> {
@Override
@EntityGraph(value = "Service.job" , type = EntityGraph.EntityGraphType.LOAD)
Page<Service> findAll(Specification<Service> spec, Pageable pageable);
}