У меня есть объект User
с большим количеством полей (я опускаю код, потому что он очень длинный, и я не думаю, что это важно в данном случае, дайте мне знать, если вам это нужно).
Это часть моего репозитория:
interface UserRepository: JpaRepository<User, String>{
fun findByNameContainingIgnoreCase(name: String, page: Pageable): Page<UserProfile>?
}
Теперь я определил следующую проекцию:
interface UserProfile{
fun getUsername(): String
fun getName(): String
fun getFavoriteTags(): MutableSet<Tag>?
fun getFavoriteDocuments(): MutableSet<Document>?
fun getAverageScore(): Double
fun getUserPicPath(): String
fun getDocuments(): MutableSet<Document>?
}
Проблема в том, что я хочу вернуть не список документов пользователя, а количество его документов. Я пробовал с:
@Value("#{target.documents?.count}")
fun getDocumentsCount(): Int?
но он не распознает поле подсчета.
Я также пробовал с:
@JsonIgnore
fun getDocuments(): MutableSet<Document>?
fun getDocumentsCount(): Int? = getDocuments()?.size
но он не распознает реализацию метода по умолчанию.
Я не знаю, что еще попробовать. Может кто-нибудь помочь мне? Большое спасибо!