{"record":{"id":"b4b7a564b4172b23","repo":"hibernate/hibernate-orm","slug":"returned-class-name-not-specified-for-basic-mappin","errorCode":null,"errorMessage":"Returned class name not specified for basic mapping: {}","messagePattern":"Returned class name not specified for basic mapping: (.+?)","errorType":"exception","errorClass":"MappingException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/boot/model/internal/BasicValueBinder.java","lineNumber":1277,"sourceCode":"\n\t\tif ( isLob() ) {\n\t\t\tbasicValue.makeLob();\n\t\t}\n\n\t\tif ( isNationalized() ) {\n\t\t\tbasicValue.makeNationalized();\n\t\t}\n\n\t\tif ( explicitCustomType != null ) {\n\t\t\tbasicValue.setExplicitCustomType( explicitCustomType );\n\t\t}\n\t}\n\n\tprivate Map<String, Object> createDynamicParameterizedTypeParameters() {\n\t\tfinal Map<String, Object> parameters = new HashMap<>();\n\n\t\tif ( returnedClassName == null ) {\n\t\t\tthrow new MappingException( \"Returned class name not specified for basic mapping: \" + memberDetails.getName() );\n\t\t}\n\n\t\tparameters.put( DynamicParameterizedType.RETURNED_CLASS, returnedClassName );\n\t\tparameters.put( DynamicParameterizedType.XPROPERTY, memberDetails );\n\t\tparameters.put( DynamicParameterizedType.PROPERTY, memberDetails.getName() );\n\n\t\tparameters.put( DynamicParameterizedType.IS_DYNAMIC, Boolean.toString( true ) );\n\t\tparameters.put( DynamicParameterizedType.IS_PRIMARY_KEY, Boolean.toString( kind == Kind.MAP_KEY ) );\n\n\t\tif ( persistentClassName != null ) {\n\t\t\tparameters.put( DynamicParameterizedType.ENTITY, persistentClassName );\n\t\t}\n\n\t\tif ( returnedClassName != null ) {\n\t\t\tparameters.put( DynamicParameterizedType.RETURNED_CLASS, returnedClassName );\n\t\t}\n\n\t\tif ( accessType != null ) {","sourceCodeStart":1259,"sourceCodeEnd":1295,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/boot/model/internal/BasicValueBinder.java#L1259-L1295","documentation":"Error \"Returned class name not specified for basic mapping: {}\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A basic mapping does not declare the Java class it maps to.","commonSituations":"Custom/basic type mappings where the returned class name was not supplied, leaving Hibernate unable to resolve the attribute type.","solutions":["Specify the returned class name for the basic mapping so the binder can resolve the Java type.","Provide an explicit type via the appropriate annotation or type descriptor."],"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"}