Skip to content

Commit

Permalink
HHH-11157 : Fix failing WithClauseTest
Browse files Browse the repository at this point in the history
(cherry picked from commit 877a052)
  • Loading branch information
beikov authored and gbadner committed Jun 7, 2017
1 parent 908d0ac commit c30c8d9
Showing 1 changed file with 17 additions and 12 deletions.
Expand Up @@ -194,22 +194,27 @@ public void testWithClauseAsSubqueryWithKey() {
public void testWithClauseAsNonSubqueryWithKey() {
rebuildSessionFactory( Collections.singletonMap( AvailableSettings.COLLECTION_JOIN_SUBQUERY, "false" ) );

TestData data = new TestData();
data.prepare();
try {
TestData data = new TestData();
data.prepare();

Session s = openSession();
Transaction txn = s.beginTransaction();
Session s = openSession();
Transaction txn = s.beginTransaction();

// Since family has a join table, we will first left join all family members and then do the WITH clause on the target entity table join
// Normally this produces 2 results which is wrong and can only be circumvented by converting the join table and target entity table join to a subquery
List list = s.createQuery("from Human h left join h.family as f with key(f) like 'son1' where h.description = 'father'")
.list();
assertEquals("subquery rewriting of join table was not disabled", 2, list.size());
// Since family has a join table, we will first left join all family members and then do the WITH clause on the target entity table join
// Normally this produces 2 results which is wrong and can only be circumvented by converting the join table and target entity table join to a subquery
List list = s.createQuery( "from Human h left join h.family as f with key(f) like 'son1' where h.description = 'father'" )
.list();
assertEquals( "subquery rewriting of join table was not disabled", 2, list.size() );

txn.commit();
s.close();
txn.commit();
s.close();

data.cleanup();
data.cleanup();
} finally {
// Rebuild to reset the properties
rebuildSessionFactory();
}
}

private class TestData {
Expand Down

0 comments on commit c30c8d9

Please sign in to comment.