У меня есть 2 класса Author
и Book
.
@NoArgsConstructor
@AllArgsConstructor
@Getter
@EqualsAndHashCode
@ToString
class Person {
@Id
private BigInteger id;
private String firstName;
private String surName;
@JsonFormat(pattern="yyyy-MM-dd")
private LocalDate dateOfBirth;
private boolean deleted;
}
@NoArgsConstructor
@Getter
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public final class Author extends Person {
@Builder
public Author(BigInteger id, String firstName, String surName, LocalDate dateOfBirth, String bio, boolean deleted) {
super(id, firstName, surName, dateOfBirth, deleted);
this.bio = bio;
}
private String bio;
}
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Getter
@EqualsAndHashCode
@ToString
public final class Book {
@Id
private BigInteger id;
private String title;
@DBRef
private Author author;
}
Как мне найти книги автора, который не был удален?Если я сделаю это:
@Repository
public interface BookRepository extends MongoRepository<Book, BigInteger> {
Set<Book> getByAuthor_Deleted(boolean isDeleted);
}
, тогда будет выдано исключение org.springframework.data.mapping.MappingException: Invalid path reference author.deleted! Associations can only be pointed to directly or via their id property!
.
Не могли бы вы уточнить, как я могу решить эту задачу?