You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Nikita Timofeev (Jira)" <ji...@apache.org> on 2026/09/11 11:28:00 UTC

[jira] [Updated] (CAY-3018) EJBQL fails to select root entity of a vertical inheritance hierarchy

     [ https://issues.apache.org/jira/browse/CAY-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nikita Timofeev updated CAY-3018:
---------------------------------
    Description: 
Here's a failing test case (returning 0 rows):
{code:java}
TableHelper ivSub1Table = env.table("IV_SUB1", "ID", "SUB1_NAME", "SUB1_PRICE");
TableHelper ivSub2Table = env.table("IV_SUB2", "ID", "SUB2_ATTR", "SUB2_NAME");

ivRootTable.insert(1, "root", null);
ivRootTable.insert(2, "s1", "IvSub1");
ivSub1Table.insert(2, "sub1name", 42.0);
ivRootTable.insert(3, "s2", "IvSub2");
ivSub2Table.insert(3, "sub2attr", "sub2name");

ObjectContext freshContext = runtime.newContext();

List<?> results = freshContext.performQuery(new EJBQLQuery("select a from IvRoot a"));

assertEquals(3, results.size());
assertFalse(results.contains(null), () -> "EJBQL select returned a null object: " + results);
{code}

  was:
Here's a failing test case (returning 0 rows):
{code:java}
TableHelper ivSub1Table = env.table("IV_SUB1", "ID", "SUB1_NAME", "SUB1_PRICE");TableHelper ivSub2Table = env.table("IV_SUB2", "ID", "SUB2_ATTR", "SUB2_NAME");

ivRootTable.insert(1, "root", null);
ivRootTable.insert(2, "s1", "IvSub1");
ivSub1Table.insert(2, "sub1name", 42.0);
ivRootTable.insert(3, "s2", "IvSub2");
ivSub2Table.insert(3, "sub2attr", "sub2name");

ObjectContext freshContext = runtime.newContext();

List<?> results = freshContext.performQuery(new EJBQLQuery("select a from IvRoot a"));

assertEquals(3, results.size());
assertFalse(results.contains(null), () -> "EJBQL select returned a null object: " + results);
{code}


> EJBQL fails to select root entity of a vertical inheritance hierarchy
> ---------------------------------------------------------------------
>
>                 Key: CAY-3018
>                 URL: https://issues.apache.org/jira/browse/CAY-3018
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Core Library
>            Reporter: Nikita Timofeev
>            Priority: Minor
>             Fix For: 5.0-M4
>
>
> Here's a failing test case (returning 0 rows):
> {code:java}
> TableHelper ivSub1Table = env.table("IV_SUB1", "ID", "SUB1_NAME", "SUB1_PRICE");
> TableHelper ivSub2Table = env.table("IV_SUB2", "ID", "SUB2_ATTR", "SUB2_NAME");
> ivRootTable.insert(1, "root", null);
> ivRootTable.insert(2, "s1", "IvSub1");
> ivSub1Table.insert(2, "sub1name", 42.0);
> ivRootTable.insert(3, "s2", "IvSub2");
> ivSub2Table.insert(3, "sub2attr", "sub2name");
> ObjectContext freshContext = runtime.newContext();
> List<?> results = freshContext.performQuery(new EJBQLQuery("select a from IvRoot a"));
> assertEquals(3, results.size());
> assertFalse(results.contains(null), () -> "EJBQL select returned a null object: " + results);
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)