Combining all answers above, you can write reusable code with BaseEntity:
@Data
@NoArgsConstructor
@MappedSuperclass
public abstract class BaseEntity {
  @Transient
  public static final Sort SORT_BY_CREATED_AT_DESC = 
                        Sort.by(Sort.Direction.DESC, "createdAt");
  @Id
  private Long id;
  private LocalDateTime createdAt;
  private LocalDateTime updatedAt;
  @PrePersist
  void prePersist() {
    this.createdAt = LocalDateTime.now();
  }
  @PreUpdate
  void preUpdate() {
    this.updatedAt = LocalDateTime.now();
  }
}
DAO object overloads findAll method - basically, still uses findAll()
public interface StudentDAO extends CrudRepository<StudentEntity, Long> {
  Iterable<StudentEntity> findAll(Sort sort);
}
StudentEntity extends BaseEntity which contains repeatable fields (maybe you want to sort by ID, as well)
@Getter
@Setter
@FieldDefaults(level = AccessLevel.PRIVATE)
@Entity
class StudentEntity extends BaseEntity {
  String firstName;
  String surname;
}
Finally, the service and usage of SORT_BY_CREATED_AT_DESC which probably will be used not only in the StudentService. 
@Service
class StudentService {
  @Autowired
  StudentDAO studentDao;
  Iterable<StudentEntity> findStudents() {
    return this.studentDao.findAll(SORT_BY_CREATED_AT_DESC);
  }
}