{"record":{"id":"61bc992264cf383e","repo":"hibernate/hibernate-orm","slug":"could-not-instantiate-comparator-class-s-for-co","errorCode":null,"errorMessage":"Could not instantiate comparator class '%s' for collection '%s'","messagePattern":"Could not instantiate comparator class '(.+?)' for collection '(.+?)'","errorType":"exception","errorClass":"AnnotationException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/boot/model/internal/CollectionBinder.java","lineNumber":1371,"sourceCode":"\t\t\t\tcollection.setOrderBy( sqlOrder.value() );\n\t\t\t}\n\t\t}\n\n\t\tfinal boolean isSorted = isSortedCollection || sorted;\n\t\tif ( isSorted && ordered ) {\n\t\t\tthrow buildIllegalOrderAndSortCombination();\n\t\t}\n\t\tcollection.setSorted( isSorted );\n\t\tinstantiateComparator( collection, comparatorClass );\n\t}\n\n\tprivate void instantiateComparator(Collection collection, Class<? extends Comparator<?>> comparatorClass) {\n\t\tif ( comparatorClass != null ) {\n\t\t\ttry {\n\t\t\t\tcollection.setComparator( comparatorClass.newInstance() );\n\t\t\t}\n\t\t\tcatch (Exception e) {\n\t\t\t\tthrow new AnnotationException(\n\t\t\t\t\t\tString.format(\n\t\t\t\t\t\t\t\t\"Could not instantiate comparator class '%s' for collection '%s'\",\n\t\t\t\t\t\t\t\tcomparatorClass.getName(),\n\t\t\t\t\t\t\t\tsafeCollectionRole()\n\t\t\t\t\t\t),\n\t\t\t\t\t\te\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate AnnotationException buildIllegalOrderCombination() {\n\t\treturn new AnnotationException(\n\t\t\t\tString.format(\n\t\t\t\t\t\tLocale.ROOT,\n\t\t\t\t\t\t\"Collection '%s' is annotated both '@%s' and '@%s'\",\n\t\t\t\t\t\tsafeCollectionRole(),\n\t\t\t\t\t\tjakarta.persistence.OrderBy.class.getName(),","sourceCodeStart":1353,"sourceCodeEnd":1389,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/boot/model/internal/CollectionBinder.java#L1353-L1389","documentation":"Error \"Could not instantiate comparator class '%s' for collection '%s'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Hibernate cannot instantiate a user-supplied class named in a mapping annotation.","commonSituations":"Custom AuxiliaryDatabaseObject or comparator classes that are missing from the classpath, non-public, abstract, or lack a usable no-arg constructor.","solutions":["Give the comparator class a public no-argument constructor and ensure it is on the classpath.","Check the comparator class name in the mapping for typos."],"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"}