Java Micronaut无法实现存储库方法:Repository.update(对象实体)。没有找到可能的实现

Java Micronaut无法实现存储库方法:Repository.update(对象实体)。没有找到可能的实现,java,maven,micronaut,micronaut-data,Java,Maven,Micronaut,Micronaut Data,这是我的堆栈: -Micronaut 1.3.2 -Java 8 -月食STS4 Pom.xml摘录: <dependency> <groupId>io.micronaut.configuration</groupId> <artifactId>micronaut-jdbc-hikari</artifactId> <scope>compile</s

这是我的堆栈:
-Micronaut 1.3.2
-Java 8
-月食STS4

Pom.xml摘录:

<dependency>
            <groupId>io.micronaut.configuration</groupId>
            <artifactId>micronaut-jdbc-hikari</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.data</groupId>
            <artifactId>micronaut-data-hibernate-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micronaut.configuration</groupId>
            <artifactId>micronaut-hibernate-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
<path>
    <groupId>io.micronaut.data</groupId>
    <artifactId>micronaut-data-processor</artifactId>
    <version>1.0.0.M1</version>
</path>

micronaut:
  application:
    name: micronaut-chatroom
  server: 
    cors:
      enabled: true
datasources:
  default:
    url: jdbc:h2:mem:devDb
    driverClassName: org.h2.Driver
    username: sa
    password: ''
    schema-generate: CREATE_DROP
    dialect: H2
jpa:
  default:
    entity-scan:
        packages: 'com.cr.model'

application.yml:

<dependency>
            <groupId>io.micronaut.configuration</groupId>
            <artifactId>micronaut-jdbc-hikari</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.micronaut.data</groupId>
            <artifactId>micronaut-data-hibernate-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micronaut.configuration</groupId>
            <artifactId>micronaut-hibernate-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
<path>
    <groupId>io.micronaut.data</groupId>
    <artifactId>micronaut-data-processor</artifactId>
    <version>1.0.0.M1</version>
</path>

micronaut:
  application:
    name: micronaut-chatroom
  server: 
    cors:
      enabled: true
datasources:
  default:
    url: jdbc:h2:mem:devDb
    driverClassName: org.h2.Driver
    username: sa
    password: ''
    schema-generate: CREATE_DROP
    dialect: H2
jpa:
  default:
    entity-scan:
        packages: 'com.cr.model'

当我在Micronaut项目上运行Install maven命令时,我得到一个错误:

[错误]无法在project micronaut聊天室上执行目标org.apache.maven.plugins:maven编译器插件:3.7.0:compile(默认编译):编译失败 [错误]无法实现存储库方法:UsuarioRepository.update(对象实体)。没有找到可能的实现

有人经历过吗

提前谢谢

编辑

这是我的模型课

@Entity(name = "Usuario")
@Table(name = "usuario")
public class UsuarioModel implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = -7468837154917949190L;
    @Id
    @GeneratedValue
    private Long id;
    private String nome;
    private String nick;
    private String idade;
    private String password;

    @OneToMany
    private List<MensagemModel> mensagens;

    //Getter/Setters ommited

}
编辑: micronaut中的
@Id
装饰器有两个可能的来源:

  • “本机”注释包:
    io.micronaut.data.annotation
  • jpa持久性包在maven中作为:
    jakarta.persistenceAPI
    dependency提供
当您使用
@Entity
装饰类时,我想您使用的是后一组装饰器。或者至少是两种来源的混合

作为基本的调试步骤,您可以尝试删除对javax.persistence的任何引用,并使用仅限本机的装饰器。例如,不要使用
@Entity
,而是使用
@mappedenty
等等

只需注释掉
javax.persistence.*
中的任何导入,然后尝试使用本机
io.micronaut.data.annotation.*

如果问题在于注释过程中的某些扭曲,我希望这会更清楚


旧垃圾已被删除-是否与Kotlin有关请包括您的
Usuario
类。同时向我们展示
UsuarioModel
类。能够解决这个问题很重要。嗯,没问题。此异常通常是由于缺少
@实体
注释造成的。但在这种情况下不是这样。能否尝试从application.yml中删除
jpa.default.entity scan
定义?感谢您的支持!我尝试过不使用它,但得到了相同的错误想法:/很抱歉反应太晚,首先,谢谢!请你解释一下这个@field来自哪个软件包好吗?对不起,我的错是:那是一个kotlin装饰师!我忘了我在kotlin而不是java上。我已经修改了我的答案。请看编辑部分。
@Entity(name = "Mensagem")
@Table(name = "mensagem")
public class MensagemModel implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 7634793331670289187L;
    @Id
    @GeneratedValue
    private Long id;
    @CreationTimestamp
    private LocalDateTime data;
    private String conteudo;

    @ManyToOne
    @JoinColumn(name = "usuario_id")
    private UsuarioModel usuario;
    //Getter/Setter ommited
}