{"record":{"id":"96c8db8e17cdd86c","repo":"hibernate/hibernate-orm","slug":"unable-to-lookup-jndi-name-jndiname","errorCode":null,"errorMessage":"Unable to lookup JNDI name [${jndiName}]","messagePattern":"Unable to lookup JNDI name \\[(.+?)\\]","errorType":"exception","errorClass":"JndiException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/engine/jndi/internal/JndiServiceImpl.java","lineNumber":93,"sourceCode":"\t\t\t\t\t\t\t\tEnvironment.JNDI_PREFIX.length() + 1 );\n\t\t\t\t\t\tjndiProperties.put( passThruPropertyName, NullnessUtil.castNonNull( propertyValue ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jndiProperties;\n\t}\n\n\t@Override\n\tpublic Object locate(String jndiName) {\n\t\tfinal var initialContext = buildInitialContext();\n\t\tfinal Name name = parseName( jndiName, initialContext );\n\t\ttry {\n\t\t\treturn initialContext.lookup( name );\n\t\t}\n\t\tcatch ( NamingException e ) {\n\t\t\tthrow new JndiException( \"Unable to lookup JNDI name [\" + jndiName + \"]\", e );\n\t\t}\n\t\tfinally {\n\t\t\tcleanUp( initialContext );\n\t\t}\n\t}\n\n\tprivate InitialContext buildInitialContext() {\n\t\ttry {\n\t\t\treturn initialContextSettings.size() == 0 ? new InitialContext() : new InitialContext( initialContextSettings );\n\t\t}\n\t\tcatch ( NamingException e ) {\n\t\t\tthrow new JndiException( \"Unable to open InitialContext\", e );\n\t\t}\n\t}\n\n\tprivate Name parseName(String jndiName, Context context) {\n\t\ttry {\n\t\t\tfinal URI uri = new URI( jndiName );","sourceCodeStart":75,"sourceCodeEnd":111,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/engine/jndi/internal/JndiServiceImpl.java#L75-L111","documentation":"Error \"Unable to lookup JNDI name [${jndiName}]\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/engine/jndi/internal/JndiServiceImpl.java:93 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the JNDI name exists in the naming context and the resource is bound","Check the InitialContext environment settings (provider URL, factory)"],"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"}