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;
}

Übersicht der Kommentare

  • Könntest du Details zu "FooBar" bzw "FooBarDto" posten?

    matthias · 2019 Mai 5 (13:54)
Kommentare lesen oder an der Diskussion teilnehmen
DaemonThread 2019 Mai 7 (22:52)

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.

0 0 0
Noch keine Stimmen abgegeben
Durch die Nutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Außerdem werden teilweise auch Cookies von Diensten Dritter gesetzt. Genauere Informationen finden Sie in unserer Datenschutzerklärung sowie im Impressum.