Troubleshooting Tip: Remediating EntityNotFoundException: Unable to find com.ph.phoenix.model.cmdb.User with id 180843976
| Description | This article explains that the error occurs when the Java Persistence API (JPA), implemented by Hibernate, attempts to retrieve a User entity using a specified primary key (e.g., 180843976), but no matching record is found in the database.
Note: |
| Scope | FortiSIEM. |
| Solution | This often happens when:
Initial investigation:
cat /opt/phoenix/log/phoenix.log | grep -i 180843976 2025-05-02T01:00:03.001009-07:00 [http-listener-2(23)] ERROR com.ph.phoenix.ws.rest.h5.H5RestResource - [PH_APPSERVER_REST_H5_ERROR]:[phCustId]=1,[eventSeverity]=PHL_ERROR,[phEventCategory]=3,[procName]=AppServer,[className]=org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$JpaEntityNotFoundDelegate,[methodName]=handleEntityNotFound,[lineNumber]=163,[errReason]=Unable to find com.ph.phoenix.model.cmdb.User with id 180843976,[phLogDetail]=HTML5 REST error
This confirms the REST API attempted to retrieve a non-existent user with ID 180843976:
javax.persistence.EntityNotFoundException: Unable to find com.ph.phoenix.model.cmdb.User with id 180843976
This shows that the exception originated in a backend service through the EJB container and REST endpoint.
Root Cause: The error occurs when Hibernate attempts to eagerly load a reference to a user ID that doesn’t exist in the database, typically through a @ManyToOne or @OneToOne mapping (e.g., manager_id pointing to a user that has been removed).
Recommended Fix:
psql phoenixdb phoenix -c 'select * from ph_user;' | grep -E " id |180843976"
This confirms whether the user exists and where the ID might be referenced (e.g., in the manager_id field).
psql phoenixdb phoenix -c "update ph_user set manager_id=NULL where manager_id=180843976;"
Summary: This issue stems from a missing database record being accessed as though it exists. The fix involves:
|

