- 
                Notifications
    You must be signed in to change notification settings 
- Fork 539
Open
Description
I'm seeing some weird issue while working with findAll() method with the specification and pageable arguments. If I set the lower page i.e. 0 size i.e. 10 then I don't have any issues. but if I set the page i.e. 0 and size to 30 I'm getting the duplicate records.
e.g.
| ID | NAME | 
|---|---|
| 1 | test | 
| 2 | test | 
| 3 | test | 
| 4 | test | 
| 5 | test | 
| 6 | test | 
| 7 | test | 
| 8 | test | 
| 9 | test | 
| 1 | test | 
| 2 | test | 
| 3 | test | 
| 4 | test | 
| 11 | test | 
| 6 | test | 
| 7 | test | 
| 18 | test | 
I have the following in the database.
| ID | NAME | 
|---|---|
| 1 | test | 
| 2 | test | 
| 3 | test | 
| 4 | test | 
| 5 | test | 
| 6 | test | 
| 7 | test | 
| 8 | test | 
| 9 | test | 
| 10 | test | 
| 11 | test | 
| 12 | test | 
| 13 | test | 
| 14 | test | 
| 15 | test | 
| 16 | test | 
| 17 | test | 
| 18 | test | 
@Entity
@Table(name = "table_name")
@JsonIgnoreProperties(ignoreUnknown = true)
@DynamicUpdate
public class Emp implements Persistable<String> {
    @Id
    @Column(name = "emp_id", nullable = false, columnDefinition = "BINARY(16)")
    public String empId;
    
    @Column(name = "name");
    public String name;
    // other fields
    
    //setters and getters
    
}
@Repository
public interface EmpRepository extends JpaRepository<Emp, String> {
    Page<Emp> findAll(Specification<Emp> specification, Pageable page);
}
public class EmpSpecification {
    public static Specification<Emp> nameEquals(String name) {
        return (root, query, builder) -> name == null ? null : builder.equal(root.get("name"), name);
    }
}
in the service class we are trying to fetch data using the following code:
Specification<Emp> specifications = Specification.where(EmpSpecification.nameEquals(name)));
details = consolidatedTradeSummaryRepository.findAll(specifications, page);
http://localhost:8080/emp?name=test&page=0&size=10
http://localhost:8080/emp?name=test&page=0&size=20
Spring boot version : 2.2.2.RELEASE
Metadata
Metadata
Assignees
Labels
No labels