You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JHipster+Micronaut项目加@Introspected仍报DefaultRevisionEntity内省错误

问题原因

报错指向的是Hibernate Envers内置的DefaultRevisionEntity类缺少Micronaut Bean内省信息,和你自行编写的Customer实体类无关。
Micronaut运行时不会默认扫描第三方jar包中的类生成内省信息,而Hibernate Envers执行审计逻辑时需要访问DefaultRevisionEntity的属性,触发了内省检查,因此抛出该错误。

解决方案

你可以选择以下任意一种方案解决:

方案1:自定义修订实体类(推荐)

自行实现修订实体类替代默认的DefaultRevisionEntity,在自定义类上添加@Introspected注解:

import io.micronaut.core.annotation.Introspected;
import org.hibernate.envers.DefaultRevisionEntity;
import org.hibernate.envers.RevisionEntity;

import javax.persistence.Entity;

@Entity
@RevisionEntity
@Introspected
public class CustomRevisionEntity extends DefaultRevisionEntity {
    // 可按需添加自定义审计字段,不需要的话留空即可
}

该方案灵活性更高,后续如果需要扩展审计字段也可以直接在该类中添加。

方案2:直接为第三方类注册内省

如果你不需要自定义审计字段,可以直接在项目启动类上添加注解,声明要为DefaultRevisionEntity生成内省信息:

import io.micronaut.core.annotation.Introspected;
import io.micronaut.runtime.Micronaut;
import org.hibernate.envers.DefaultRevisionEntity;

@Introspected(classes = DefaultRevisionEntity.class)
public class Application {
    public static void main(String[] args) {
        Micronaut.run(Application.class, args);
    }
}

也可以在配置文件application.yml中添加如下配置实现相同效果:

micronaut:
  introspection:
    classes:
      - org.hibernate.envers.DefaultRevisionEntity

内容的提问来源于stack exchange,提问作者Mrugesh Vaghela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:24:04