{"record":{"id":"57e0969bb5c77ed7","repo":"hibernate/hibernate-orm","slug":"could-not-instantiate-collection-persister-impleme","errorCode":null,"errorMessage":"Could not instantiate collection persister implementor `%s` for collection-role `%s`","messagePattern":"Could not instantiate collection persister implementor `(.+?)` for collection-role `(.+?)`","errorType":"exception","errorClass":"MappingException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/persister/internal/PersisterFactoryImpl.java","lineNumber":135,"sourceCode":"\tpublic CollectionPersister createCollectionPersister(\n\t\t\tCollection collectionBinding,\n\t\t\t@Nullable CollectionDataAccess cacheAccessStrategy,\n\t\t\tRuntimeModelCreationContext creationContext) {\n\t\tfinal var persisterClass = persisterClassResolver.getCollectionPersisterClass( collectionBinding );\n\t\tfinal var constructor = resolveCollectionPersisterConstructor( persisterClass );\n\t\ttry {\n\t\t\treturn constructor.newInstance( collectionBinding, cacheAccessStrategy, creationContext );\n\t\t}\n\t\tcatch (MappingException e) {\n\t\t\tthrow e;\n\t\t}\n\t\tcatch (InvocationTargetException e) {\n\t\t\tfinal Throwable target = e.getTargetException();\n\t\t\tif ( target instanceof HibernateException hibernateException ) {\n\t\t\t\tthrow hibernateException;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new MappingException(\n\t\t\t\t\t\tString.format(\n\t\t\t\t\t\t\t\t\"Could not instantiate collection persister implementor `%s` for collection-role `%s`\",\n\t\t\t\t\t\t\t\tpersisterClass.getName(),\n\t\t\t\t\t\t\t\tcollectionBinding.getRole()\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttarget\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tcatch (Exception e) {\n\t\t\tthrow new MappingException( \"Could not instantiate collection persister \" + persisterClass.getName(), e );\n\t\t}\n\t}\n\n\tprivate Constructor<? extends CollectionPersister> resolveCollectionPersisterConstructor(Class<? extends CollectionPersister> persisterClass) {\n\t\ttry {\n\t\t\treturn persisterClass.getConstructor( COLLECTION_PERSISTER_CONSTRUCTOR_ARGS );\n\t\t}","sourceCodeStart":117,"sourceCodeEnd":153,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/persister/internal/PersisterFactoryImpl.java#L117-L153","documentation":"Error \"Could not instantiate collection persister implementor `%s` for collection-role `%s`\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Hibernate bootstrap fails to create a configured custom implementation class.","commonSituations":"A custom persister/factory/resolver class is missing, non-public, or lacks the required constructor.","solutions":["Ensure the custom collection persister implements CollectionPersister and exposes the required constructor.","Verify the class name configured for the collection role is correct and on the classpath."],"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"}