I have a Java class that creates test objects for CompanyEntity.  I need the same thing, but for it to create EmployeeEntity objects.  Here is the code for the Helper class that generates CompanyEntity:

package org.gaardeon.autograph;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.concurrent.StructuredTaskScope;
import java.util.stream.Collectors;
import org.gaardeon.relatable.dataclasses.Address;
import org.gaardeon.relatable.dataclasses.CompanyEntity;
import org.gaardeon.relatable.keys.ID;
import org.gaardeon.relatable.keys.UuidID;
import org.gaardeon.relatable.selectors.SingleValueSelector;

class CompanyTestHelper {

    static Collection<CompanyEntity> createTestObjects(AutoGraph db, int numberOfObjects) {

        List<StructuredTaskScope.Subtask> subtasks = new ArrayList<>();
        try (StructuredTaskScope scope = new StructuredTaskScope()) {
            final int numProc = Runtime.getRuntime().availableProcessors() - 1;
            for (int i = 0; i < numProc; i++) {
                subtasks.add(scope.fork(() -> new CompanyTestHelper().createTestObjectsMultiThreaded(db, 1_000_000
                        / numProc)));
            }
            scope.join();
        } catch (InterruptedException ex) {
            Thread.currentThread().interrupt();
            throw new RuntimeException(ex);
        }
        return subtasks.stream().flatMap(task -> ((Collection<CompanyEntity>) task.get()).stream()).collect(Collectors
                .toList());
    }

    private final Random RANDOM = new Random();

    // Predefined list of industries
    private final List<String> INDUSTRIES = Arrays.asList(
            "Technology",
            "Finance",
            "Healthcare",
            "Retail",
            "Manufacturing",
            "Energy",
            "Education",
            "Transportation",
            "Entertainment",
            "Real Estate"
    );

    private Collection<CompanyEntity> createTestObjectsMultiThreaded(AutoGraph db, int numberOfObjects) {
        if (db == null || numberOfObjects <= 0) {
            return Collections.emptyList();
        }
        // Fetch all addresses
        List<Address> addresses = (List<Address>) db.select(new SingleValueSelector<Address, Class<?>>(
                "address_class", addr -> addr.getClass(),
                Address.class));
        if (addresses.isEmpty()) {
            throw new IllegalStateException("No addresses available in DB");
        }

        List<CompanyEntity> result = new ArrayList<>(numberOfObjects);
        Random rnd = new Random();

        for (int i = 0; i < numberOfObjects; i++) {
            String name = generateRandomName();
            String ceo = generateRandomName() + " " + generateRandomName();
            String industry = INDUSTRIES.get(rnd.nextInt(INDUSTRIES.size()));
            Address addr = addresses.get(rnd.nextInt(addresses.size()));
            ID<?> id = new UuidID(); // Replace with proper ID if needed

            result.add(new CompanyEntity(id, name, addr, industry, ceo));
        }
        return result;
    }

    private String generateRandomName() {

        // Start with an uppercase letter
        char firstLetter = (char) ('A' + RANDOM.nextInt(26));

        int length = 1 + RANDOM.nextInt(7); // Between 2-8 characters

        StringBuilder nameBuilder = new StringBuilder();
        nameBuilder.append(firstLetter);

        for (int i = 0; i < length - 1; i++) {
            // Add lowercase letters or numbers
            char nextChar = (char) ('a' + RANDOM.nextInt(26));
            nameBuilder.append(nextChar);
        }

        return nameBuilder.toString();
    }

}

Here is the EmployeeEntity class I need to generate now:
public record EmployeeEntity(ID<?> id, String firstName, String lastName, CompanyEntity company, String socSecNum)

So, just like how CompanyTestHelper uses the db to get the list of Address objects to select from, this new EmployeeTestHelper should use the db to get the list of CompanyEntity objects to select from, and randomly generate firstName, lastName, and social security numbers.