Spring Boot Exception "No property foo found for type FooBar"

Bei einer einfachen Spring Boot Anwendung mit nur einem Repository bekomme ich: org.springframework.data.mapping.PropertyReferenceException: No property foo found for type FooBar!

Das Repository ist definiert:

public interface FooBarRepository extends PagingAndSortingRepository<FooBar, Long> { ... }

Der Fehler tritt auf, wenn ich im Controller die Methode f├╝r die Paginierung aufrufe:

@RequestMapping("list")
public Page<FooBarDto> getList(@RequestParam(value = "page", defaultValue = "0") int page) {
    Pageable pageable = PageRequest.of(page, 20, Sort.by("foo"));
    return fooBarRepository.findAll(pageable).map(FooBarDto::new);
}

Was kann diesen Fehler verursachen?

Edit:

FooBar ist wirklich relativ simpel:

@Entity
@Table(name="t_foo_bar")
@Access(AccessType.FIELD)
@Getter @Setter @NoArgsConstructor
public class FooBar {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    @Temporal(TemporalType.TIMESTAMP)
    private Date created;
    private String name;
}
Noch keine Stimmen abgegeben
1 Kommentar
  • von matthias am 5 Mai 2019
  • 7 Mai 2019

    Ich habe es gefunden, war ein ziemlich dummer Fehler:

    Sort.by("foo")
    

    wird nat├╝rlich nicht funktionieren, wenn die Property "foo" in der Entit├Ąt FooBar nicht existiert. Mit:

    Pageable pageable = PageRequest.of(page, 20, Sort.by("name"))
    

    klappt es einwandfrei.

    Noch keine Stimmen abgegeben
    Noch keine Kommentare