Micronaut JDBC操作未注入存储库

Micronaut JDBC操作未注入存储库,jdbc,jdbctemplate,micronaut,Jdbc,Jdbctemplate,Micronaut,我正在遵循Micronaut文档中关于如何设置JDBC存储库的指南,但由于某些原因,我无法让它工作。我添加了一个我正在做的示例代码 存储库: @JdbcRepository(dialect = Dialect.POSTGRES) abstract class PersonRepository implements CrudRepository<Person, Long> { private JdbcOperations jdbcOperations; Person

我正在遵循Micronaut文档中关于如何设置JDBC存储库的指南,但由于某些原因,我无法让它工作。我添加了一个我正在做的示例代码

存储库:

@JdbcRepository(dialect = Dialect.POSTGRES)
abstract class PersonRepository implements CrudRepository<Person, Long> {

    private JdbcOperations jdbcOperations;

    PersonRepository(JdbcOperations jdbcOperations) {
        this.jdbcOperations = jdbcOperations
    }

    @Transactional
    List<Person> search() {
        String sql = "select * from person";
        return jdbcOperations.prepareStatement(sql, statement -> {
            ResultSet resultSet = statement.executeQuery();
            return jdbcOperations.entityStream(resultSet, Person.class).collect(Collectors.toList());
        });
    }
应用程序的依赖项

依赖关系{

compileOnly "io.micronaut:micronaut-inject-groovy"
implementation("io.micronaut:micronaut-http-client")
implementation("io.micronaut.data:micronaut-data-hibernate-jpa")
implementation("io.micronaut.groovy:micronaut-runtime-groovy")
implementation("io.micronaut.liquibase:micronaut-liquibase")
implementation("io.micronaut.sql:micronaut-jdbc-hikari")
implementation("javax.annotation:javax.annotation-api")
implementation group: 'com.vladmihalcea', name: 'hibernate-types-52', version: '2.10.4'
implementation group: 'io.micronaut.security', name: 'micronaut-security', version: '2.4.0'
implementation group: 'io.micronaut.security', name: 'micronaut-security-jwt', version: '2.4.0'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
implementation("io.micronaut.data:micronaut-data-jdbc")

compileOnly("io.micronaut.data:micronaut-data-processor")
testImplementation("org.testcontainers:postgresql")
testImplementation("org.testcontainers:spock")
testImplementation("org.testcontainers:testcontainers")
implementation("io.micronaut:micronaut-validation")
runtimeOnly("ch.qos.logback:logback-classic")
runtimeOnly("org.postgresql:postgresql")

testAnnotationProcessor "io.micronaut:micronaut-inject-groovy"

annotationProcessor "io.micronaut:micronaut-inject-groovy"
annotationProcessor "io.micronaut:micronaut-validation"
compileOnly("jakarta.persistence:jakarta.persistence-api:2.2.2")
}

错误:

 Unexpected error occurred: No such property: jdbcOperations for class: com.example.repositories.PersonRepository

有什么建议吗?

您使用micronaut数据jdbc还是micronaut数据jpa?请出示您的毕业生/专业人士的家属我在您的jpa问题中添加了我的家属。。在这种情况下,使用criteria api并注入EntityManager会更容易。请看一下,在一些示例中,我尝试使用EntityManager,但由于我使用的是特定于数据库的运算符,因此它无法工作。
 Unexpected error occurred: No such property: jdbcOperations for class: com.example.repositories.PersonRepository