Как я могу создавать простые запросы подсчета в репозитории с помощью JDBC Micronaut Data? - PullRequest
1 голос
/ 27 октября 2019

Я пытаюсь создать собственный подсчет в хранилище JDBC Micronaut Data. Я использую:

@JdbcRepository(dialect = Dialect.POSTGRES)
public abstract class BookRepository implements GenericRepository<Book, Long> {
    @Transactional(Transactional.TxType.MANDATORY)
    @Query(value = "select count(*) FROM book WHERE registration_date > :date", nativeQuery = true)
    public abstract long countNow(@NotNull Timestamp date);
}

И я получаю следующую ошибку компиляции:

error: Unable to implement Repository method: BookRepository.countNow(Timestamp date). Query results in a type [my.app.db.Book] whilst method returns an incompatible type: long

Как я могу это исправить?

1 Ответ

0 голосов
/ 27 октября 2019

Я подозреваю, что собственные запросы должны возвращать сущность этого хранилища. В вашем случае это Book.

Но пытались ли вы использовать метод запроса вместо написания запроса самостоятельно. Что-то вроде

public abstract long countByRegistrationDateGreatherThan(Timestamp t);

Более подробное объяснение см. В документации о данных Micronaut.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...