{"record":{"id":"4dce2ac881517406","repo":"hibernate/hibernate-orm","slug":"missing-constructor-or-attributes-for-injection-in","errorCode":null,"errorMessage":"Missing constructor or attributes for injection into type '${typeName}'","messagePattern":"Missing constructor or attributes for injection into type '(.+?)'","errorType":"exception","errorClass":"SemanticException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java","lineNumber":1521,"sourceCode":"\t\t}\n\n\t\treturn new SqmPluralPartSelectionPath<>(\n\t\t\t\t(SqmPluralValuedSimplePath<?>) pluralAttributePath,\n\t\t\t\tcollectionFunctionNature( firstNode )\n\t\t);\n\t}\n\n\t@Override\n\tpublic SqmDynamicInstantiation<?> visitInstantiation(HqlParser.InstantiationContext ctx) {\n\t\tfinal var dynamicInstantiation = visitInstantiationTarget( ctx.instantiationTarget() );\n\t\tfor ( var arg : ctx.instantiationArguments().instantiationArgument() ) {\n\t\t\tdynamicInstantiation.addArgument( visitInstantiationArgument( arg ) );\n\t\t}\n\n\t\tif ( !dynamicInstantiation.checkInstantiation( creationContext.getTypeConfiguration() ) ) {\n\t\t\tfinal String typeName = dynamicInstantiation.getJavaType().getSimpleName();\n\t\t\tif ( dynamicInstantiation.isFullyAliased() ) {\n\t\t\t\tthrow new SemanticException( \"Missing constructor or attributes for injection into type '\" + typeName + \"'\", query );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new SemanticException( \"Missing constructor for type '\" + typeName  + \"'\", query );\n\t\t\t}\n\t\t}\n\n\t\treturn dynamicInstantiation;\n\t}\n\n\t@Override\n\tpublic SqmDynamicInstantiation<?> visitInstantiationTarget(HqlParser.InstantiationTargetContext ctx) {\n\t\tif ( ctx.MAP() != null ) {\n\t\t\treturn forMapInstantiation( mapJavaType, nodeBuilder() );\n\t\t}\n\t\telse if ( ctx.LIST() != null ) {\n\t\t\treturn forListInstantiation( listJavaType, nodeBuilder() );\n\t\t}\n\t\telse {","sourceCodeStart":1503,"sourceCodeEnd":1539,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java#L1503-L1539","documentation":"Error \"Missing constructor or attributes for injection into type '${typeName}'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A dynamic instantiation (select new) target cannot be constructed.","commonSituations":"Using 'select new SomeClass(...)' where the class is missing or has no matching constructor.","solutions":["Add a constructor matching the instantiation arguments on the target type.","Ensure the selected aliases match the constructor parameters."],"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"}