diff --git a/persistence/runtime/src/main/java/org/eclipsefoundation/persistence/model/HQLGenerator.java b/persistence/runtime/src/main/java/org/eclipsefoundation/persistence/model/HQLGenerator.java
index 69f5ba96cc22d16158b3bd34d304d6e3644c22de..628071117334c214a9a0283776f3796c5f62fac4 100644
--- a/persistence/runtime/src/main/java/org/eclipsefoundation/persistence/model/HQLGenerator.java
+++ b/persistence/runtime/src/main/java/org/eclipsefoundation/persistence/model/HQLGenerator.java
@@ -11,6 +11,8 @@
 **********************************************************************/
 package org.eclipsefoundation.persistence.model;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.regex.Matcher;
@@ -49,7 +51,7 @@ public class HQLGenerator implements SQLGenerator {
         } else if (SortOrder.RANDOM.equals(src.getOrder())) {
             sb.append(" order by RAND()");
         }
-        return sb.toString();
+        return decorateWithNodeName(sb).toString();
     }
 
     @Override
@@ -68,7 +70,7 @@ public class HQLGenerator implements SQLGenerator {
         // retrieve the where clauses
         sb.append(getWhereClause(src));
 
-        return sb.toString();
+        return decorateWithNodeName(sb).toString();
     }
 
     private String getFromClause(ParameterizedSQLStatement src) {
@@ -136,4 +138,18 @@ public class HQLGenerator implements SQLGenerator {
         return sb.toString();
     }
 
+    /**
+     * Appends a comment containing the local host's name to the provided StringBuilder.
+     * If the local host's name cannot be determined, the original StringBuilder is returned unchanged.
+     *
+     * @param sb the StringBuilder to which the comment will be appended
+     * @return the StringBuilder with the appended comment, or the original StringBuilder if the host name cannot be determined
+     */
+    private StringBuilder decorateWithNodeName(StringBuilder sb) {
+      try {
+        return sb.append(String.format(" /* node name: %s */", InetAddress.getLocalHost().getHostName()));
+      } catch (UnknownHostException e) {
+        return sb;
+      }
+    }
 }
diff --git a/persistence/runtime/src/test/java/org/eclipsefoundation/persistence/model/HQLGeneratorTest.java b/persistence/runtime/src/test/java/org/eclipsefoundation/persistence/model/HQLGeneratorTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..354f8bf35b03146dd69aa9a5ba8ce1cbec791468
--- /dev/null
+++ b/persistence/runtime/src/test/java/org/eclipsefoundation/persistence/model/HQLGeneratorTest.java
@@ -0,0 +1,60 @@
+package org.eclipsefoundation.persistence.model;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+
+import org.eclipsefoundation.persistence.namespace.SortOrder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+class HQLGeneratorTest {
+
+  private HQLGenerator hqlGenerator;
+  private ParameterizedSQLStatement mockStatement;
+  private DtoTable mockTable;
+
+  @BeforeEach
+  void setUp() {
+    hqlGenerator = new HQLGenerator();
+    mockStatement = mock(ParameterizedSQLStatement.class);
+    mockTable = mock(DtoTable.class);
+
+    doReturn(this.getClass()).when(mockTable).getType();
+    doReturn(mockTable).when(mockStatement).getBase();
+    doReturn("t").when(mockTable).getAlias();
+    doReturn(new ArrayList<>()).when(mockStatement).getJoins();
+    doReturn(new ArrayList<>()).when(mockStatement).getClauses();
+  }
+
+  @Test
+  void testGetSelectSQL() {
+    when(mockStatement.getGroups()).thenReturn(new ArrayList<>());
+    when(mockStatement.getSortField()).thenReturn(null);
+    when(mockStatement.getOrder()).thenReturn(SortOrder.ASCENDING);
+
+    String expectedSQL = "SELECT t FROM HQLGeneratorTest t /* node name: " + getHostName() + " */";
+    String actualSQL = hqlGenerator.getSelectSQL(mockStatement);
+
+    assertEquals(expectedSQL, actualSQL);
+  }
+
+  @Test
+  void testGetCountSQL() {
+    String expectedSQL = "SELECT COUNT(DISTINCT t) FROM HQLGeneratorTest t /* node name: " + getHostName() + " */";
+    String actualSQL = hqlGenerator.getCountSQL(mockStatement);
+
+    assertEquals(expectedSQL, actualSQL);
+  }
+
+  private String getHostName() {
+    try {
+      return java.net.InetAddress.getLocalHost().getHostName();
+    } catch (java.net.UnknownHostException e) {
+      return "";
+    }
+  }
+}
\ No newline at end of file