【问题标题】:Spring data rest order by nested path with querydsl使用querydsl的嵌套路径的Spring数据休息顺序
【发布时间】:2017-10-11 04:26:34
【问题描述】:

我想order 使用Nested Path

不工作

curl -i -X GET  http://localhost:8080/api/appointment?sort=doctor.name,{desc|asc} // Not working

在此工作期间

curl -i -X GET  http://localhost:8080/api/appointment?sort=appointmentDay,{desc/asc} // working

curl -i -X GET  http://localhost:8080/api/appointment?dcotor.name=Ahmed // working

实体

public class Appointment implements Serializable {

    @Column(name = "appointment_day")
    @Future(message = "Day of appointment must be in the future!")
    @NotNull
    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    @JsonFormat(pattern = Constants.DATE_PATTEN)
    @DateTimeFormat(iso = ISO.DATE)
    private Date appointmentDay;

    @ManyToOne(optional = false)
    @JoinColumn(name = "doctor_id", nullable = false)
    private Doctor doctor;
    // Other properties 
    //
}

存储库

@RepositoryRestResource(path = "appointment", collectionResourceRel = "data", excerptProjection = AppointmentExcerpt.class)
public interface AppointmentRepo extends JpaRepository<Appointment, Long>, 
QueryDslPredicateExecutor<Appointment>, QuerydslBinderCustomizer<QAppointment> {}

更新 paging-and-sorting.adoc

按可链接的关联排序(即资源到顶级 资源)不受支持。

但是我看到这是固定的here

更新添加了3.0.0.M2 报告该问题已修复,但仍然无法正常工作

版本3.0.0.M2(2017-04-04)的变化

  • DATAREST-976 - 按嵌入属性排序在 Ingalls RC1 中不再起作用。
<repositories>

    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>http://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>http://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>rabbit-milestones</id>
        <name>Rabbit Milestones</name>
        <url>https://dl.bintray.com/rabbitmq/maven-milestones</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

<dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>2.0.0.M3</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-rest-webmvc</artifactId>
        <version>3.0.0.M3</version>
    </dependency>

【问题讨论】:

    标签: spring-data-jpa spring-data-rest querydsl


    【解决方案1】:

    刚刚降级 spring.data.‌​rest.webmvcHopper 发布

    <spring.data.jpa.version>1.10.10.RELEASE</spring.data.jpa.version>
    <spring.data.rest.webmvc.version>2.5.10.RELEASE</spring.data.rest.webmvc.version>
    
    /api/appointment?sort=doctor.name,{desc|asc} // works with (.)
    /api/appointment?sort=doctor_name,{desc|asc} // works too  with (_)
    

    感谢@Alan Hay评论this question

    在 Hopper 版本中按嵌套属性排序对我来说很好,但我确实在 Ingalls 版本的 RC 版本中遇到了以下错误。在 Ingalls 版本的 RC 版本中出现错误。这被报告为已修复,

    顺便说一句,我尝试了v3.0.0.M3,报告已修复但无法与我合作。

    【讨论】:

      猜你喜欢
      • 2018-05-28
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      相关资源
      最近更新 更多