Hi Rob,

In your example, both the entity qualifier and the condition in "where" seem 
the same. So you wouldn't need the latter if you have the former. Am I 
misreading the description?

Andrus

> On Apr 7, 2026, at 7:48 AM, Robert A. Decker <[email protected]> wrote:
> 
> I'm using single-table inheritance with the 'type' column determining the 
> subclass with a Qualifier in the model:
> AiSystemPrompt (abstract)
> AiSystemPromptSummarization (Qualifier type='AiSystemPromptSummarization')
> 
> This query works:
> 
> List<AiJob> jobs = ObjectSelect.query(AiJob.class)
> .where(AiJob.AI_SYSTEM_PROMPT.dot(AiSystemPrompt.TYPE).eq("AiSystemPromptSummarization"))
> .select(context);
> 
> But I don't like that I'm hardcoding the subclass 
> ("AiSystemPromptSummarization") and searching against the TYPE property.
> 
> Is there a way to do this using the attributes I have in the cayenne model? 
> (abstract superclass with concrete subclass using the qualifier set in the 
> entity model)
> 
> I looked at BaseProperty and a couple of others in 
> org.apache.cayenne.exp.property but don't see it....
> 
> Rob

Reply via email to