/** This for is used during custom deserialization handling */ @SuppressWarnings({"JavaDoc"}) private EntityEntry( final SessionFactoryImplementor factory, final String entityName, final Serializable id, final EntityMode entityMode, final String tenantId, final Status status, final Status previousStatus, final Object[] loadedState, final Object[] deletedState, final Object version, final LockMode lockMode, final boolean existsInDatabase, final boolean isBeingReplicated, final boolean loadedWithLazyPropertiesUnfetched, final PersistenceContext persistenceContext) { this.entityName = entityName; this.persister = (factory == null ? null : factory.getEntityPersister(entityName)); this.id = id; this.entityMode = entityMode; this.tenantId = tenantId; this.status = status; this.previousStatus = previousStatus; this.loadedState = loadedState; this.deletedState = deletedState; this.version = version; this.lockMode = lockMode; this.existsInDatabase = existsInDatabase; this.isBeingReplicated = isBeingReplicated; this.loadedWithLazyPropertiesUnfetched = loadedWithLazyPropertiesUnfetched; this.rowId = null; // this is equivalent to the old behavior... this.persistenceContext = persistenceContext; }