WedX - журнал о программировании и компьютерных науках

Прогнозы весенних данных

У меня есть объект 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

но он не распознает реализацию метода по умолчанию.

Я не знаю, что еще попробовать. Может кто-нибудь помочь мне? Большое спасибо!


Ответы:


1

Вы не сможете использовать count в аннотации Spring, потому что это не настоящий метод Collections; это функция расширения.

Вам нужно объединить два ваших существующих решения. Попробуйте это с аннотацией Value, но используя правильную функцию MutableSet:

@Value("#{target.documents?.size}")

13.05.2018
  • Я не помню, ошибся ли я, написав пост, или я действительно пытался с #target.documents?count. Если второе, то я идиот, потому что хотел написать размер, а не количество. Я попробую, но в итоге выбрал решение с DTO. В любом случае большое спасибо за ответ. 14.05.2018
  • Если вы считаете, что это подходящий ответ на вопрос, не стесняйтесь отмечать его как принятое :-) 14.05.2018
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]