JPQL equivalente a la consulta SQL usando uniones y seleccionando constantes

He escrito una consulta SQL que básicamente selecciona de una serie de tablas para determinar cuáles tienen filas que se crearon desde una fecha en particular. Mi SQL se ve algo como esto:

SELECT widget_type FROM(
  SELECT 'A' as widget_type
  FROM widget_a
  WHERE creation_timestamp > :cutoff
  UNION
  SELECT 'B' as widget_type
  FROM widget_b
  WHERE creation_timestamp > :cutoff
) types
GROUP BY widget_type
HAVING count(*)>0

Eso funciona bien en SQL, pero recientemente encontré que, si bien JPA puede usar uniones para realizar consultas polimórficas de "tabla por clase",JPQL no soporta uniones en consultas. Así que eso me deja preguntándome si JPA tiene una alternativa que podría usar para lograr lo mismo.

En realidad, estaría consultando contra una docena de tablas, no solo dos, así que me gustaría evitar hacer consultas separadas. También me gustaría evitar hacer una consulta SQL nativa por razones de portabilidad.

En la pregunta que vinculé anteriormente, se preguntó si las entidades que se asignan a widget_a y widget_b son parte del mismo árbol de herencia. Sí lo son. Sin embargo, si selecciono de su clase base, no creo que tenga una manera de especificar diferentes constantes de cadena para las diferentes entidades secundarias, ¿verdad? Si pudiera seleccionar el nombre de clase de una entidad en lugar de una cadena que proporciono, eso también podría servir a mi propósito. Pero tampoco sé si eso es posible. ¿Pensamientos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta