I think you should rather use the revisions-of-entity query.
First you get the bounding revisions:
Number startRevision = reader.getRevisionNumberForDate(startDate);
Number enRevision = reader.getRevisionNumberForDate(endDate);
Then you do the query:
reader.createQuery.forRevisionsOfEntity(PC.class, true, true)
I would also like to just query for a specific revision of an entity, and include deleted ones. I have a method that takes an entity Id and revision Id and uses the forEntitiesAtRevision query. It appears to work for all cases except when the revision represents a delete. In that case I get a javax.persistence.NoResultException and upon inspection of the SQL that is generated I see that there is a where REVTYPE<>2 condition. Why is this condition present? Is this a bug?
The workaround of using forRevisionsOfEntity does work though.
Yes, well, maybe not really a bug, just the API lacks the possibility to create an appropriate query. So rather an overlooked feature