{"record":{"id":"12a4527d8be3b5cd","repo":"hibernate/hibernate-orm","slug":"no-audit-table-info-for-table-originaltablename","errorCode":null,"errorMessage":"No audit table info for table '{originalTableName}' (known tables: {tableAuditInfoMap.keySet()})","messagePattern":"No audit table info for table '(.+?)' \\(known tables: (.+?)\\)","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AuditMappingImpl.java","lineNumber":125,"sourceCode":"\t\tthis.auditStrategy = sessionFactory.getSessionFactoryOptions().getAuditStrategy();\n\t\tfinal var changesetIdJavaType = sessionFactory.getChangesetCoordinator().getIdentifierType();\n\n\t\tjdbcMapping = resolveJdbcMapping( typeConfiguration, changesetIdJavaType );\n\t\tchangesetIdBasicType = resolveBasicType( typeConfiguration, changesetIdJavaType );\n\n\t\tfinal var dialect = sessionFactory.getJdbcServices().getDialect();\n\t\tcurrentTimestampFunctionName =\n\t\t\t\tsessionFactory.getChangesetCoordinator().useServerTimestamp( dialect )\n\t\t\t\t\t\t? dialect.currentTimestamp()\n\t\t\t\t\t\t: null;\n\n\t\tmaxFunctionDescriptor = resolveMaxFunction( sessionFactory );\n\t}\n\n\tprivate TableAuditInfo resolveInfo(String originalTableName) {\n\t\tfinal var info = tableAuditInfoMap.get( originalTableName );\n\t\tif ( info == null ) {\n\t\t\tthrow new IllegalArgumentException(\n\t\t\t\t\t\"No audit table info for table '\" + originalTableName\n\t\t\t\t\t\t\t+ \"' (known tables: \" + tableAuditInfoMap.keySet() + \")\" );\n\t\t}\n\t\treturn info;\n\t}\n\n\t@Override\n\tpublic AuditEntityLoader getEntityLoader() {\n\t\tif ( entityLoader == null ) {\n\t\t\tif ( entityMappingType == null ) {\n\t\t\t\tthrow new IllegalStateException( \"getEntityLoader() is not available for collection audit mappings\" );\n\t\t\t}\n\t\t\tentityLoader = new AuditEntityLoaderImpl( entityMappingType, sessionFactory );\n\t\t}\n\t\treturn entityLoader;\n\t}\n\n\t@Override","sourceCodeStart":107,"sourceCodeEnd":143,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/AuditMappingImpl.java#L107-L143","documentation":"Error \"No audit table info for table '{originalTableName}' (known tables: {tableAuditInfoMap.keySet()})\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown when audit (Envers-style) mapping metadata is requested for a table that has no registered audit table info.","commonSituations":"See trigger scenarios.","solutions":["Ensure the table is audited (@Audited on the entity mapping that table) so Envers registers audit info for it.","Check the table name spelling matches the physical table name of the audited mapping."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}