Sortieren Sie die Entität und ihre verschachtelte Sammlung @OneToMany Spring Data JPA mit PageableJava

Java-Forum
Guest
 Sortieren Sie die Entität und ihre verschachtelte Sammlung @OneToMany Spring Data JPA mit Pageable

Post by Guest »

Gibt es eine Möglichkeit, eine Entität und ihre verschachtelte Sammlung in einer @OneToMany-Beziehung mit einer Pageable-Schnittstelle zu sortieren?
Ich habe diese beiden Entitäten

Code: Select all

@Entity
@Table(name = "course")
public class Course {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false)
private String name;

@OneToMany(cascade = CascadeType.ALL, mappedBy = "course")
private List reviews = new ArrayList();

....contructors, getters and setters
}

@Entity
@Table(name = "review")
public class Review {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String rating;

@ManyToOne
private Course course;

....contructors, getters and setters
}
Dieses Repository

Code: Select all

@Repository
public interface CourseRepository extends JpaRepository {
}
Dieser Dienst

Code: Select all

@Service
public class CourseService {

@Autowired
CourseRepository courseRepository;

public Page getCourses(Pageable pageable) {
return courseRepository.findAll(pageable);
}

}
Und dieser Controller

Code: Select all

@RestController
@RequestMapping("/api")
public class CourseController {

@Autowired
CourseService courseService;

@RequestMapping(value="/courses", method= RequestMethod.GET)
public ResponseEntity
> readInteractionsPagedParam(Pageable pageable) {
Page pageCourse = courseService.getCourses(pageable);
... To DTO and return it
}
}
Ich habe andere ähnliche Fragen gefunden, aber in den Antworten wird die Sortierung statisch, wie bei der Annotation @OrderBy, aber die Notwendigkeit besteht darin, dass die Sortierung dynamisch ist, ich meine, ich muss nach jeder Eigenschaft in sortieren Kurs und Rezension. Ich muss auch Pagable verwenden.
Ich brauche so etwas, aber ich habe sie ausprobiert und sortiere nur die Entität „Kurs“, die Entität „Bewertung“ wird nie sortiert

Code: Select all

.../api/courses?page=0&size=10&sort=name,asc&sort=reviews.rating,asc
.../api/courses?page=0&size=10&sort=name,asc&sort=reviews.rating,desc
.../api/courses?page=0&size=10&sort=name,desc&sort=reviews.rating,asc
.../api/courses?page=0&size=10&sort=name,desc&sort=reviews.rating,desc
Ich bin neu in all dem, Java, Spring, JPA, Hibernate usw. und würde gerne wissen, ob es eine Möglichkeit gibt, dies zu erreichen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post