The solution

Coding the solution involves these steps:

Create a class variable to hold the DAO

Figure 1. Declaring a variable to hold a DAO for an entity
@Inject
  private SomeParentDAO someParentDAO;

Use the DAO to retrieve the instance of the parent entity

In your façade method, code a variable to hold an instance of the entity interface, and set its value by calling.get() on the DAO, passing the key of the database row:

Figure 2. Retrieving an instance of a parent entity
// retrieve the instance of the parent entity
    final SomeParent someParent =
      someParentDAO.get(key.someParentID);

Call a getter on the parent entity instance to retrieve its set of child entity instances

Now code a call to the appropriate getter on the parent entity instance to retrieve its child entity instances:

Figure 3. Calling a getter method on a parent entity instance to retrieve its child entity instances
// retrieve all the child instances of the entity for this parent
final Set<SomeChild> someChildren = someParent.getSomeChildren();

Iterate the set of child entity instances and access these instances to map field values to the client struct

Now code a loop which iterates the set retrieved, and maps each instance to the client struct:

Figure 4. Iterating through child entity instances
// map the details returned
    for (final SomeChild someChild : someChildren) {
      final SomeChildSummaryDetails someChildSummaryDetails =
        new SomeChildSummaryDetails();
      someChildSummaryDetails.someChildID = someChild.getID();
      someChildSummaryDetails.name = someChild.getName();

      list.details.addRef(someChildSummaryDetails);
    }