Построение запроса с использованием NOT EXISTS в jpa критерии api

У меня есть две таблицы, названные как table1, table2. Обе таблицы имеют одинаковое количество полей. Между этими двумя таблицами нет никакой связи. Моё требование - я хочу, чтобы все записи в table1 отсутствовали в table2. Итак, я написал запрос, используя Criteria API. Но это не дает правильного результата. Поскольку я новичок в этом JPA и API критериев, любой может указать мне, где я делаю неправильно. Код ниже, который я использую для этого.

CriteriaBuilder cb = mediationEntityManager.getCriteriaBuilder();
CriteriaQuery  cq = cb.createQuery(Table1.class);
Root table1 = cq.from(Table1.class);
cq.select(table1)

Subquery subquery =  cq.subquery(Table2.class)
Root table2 = subquery.from(Table2.class)
subquery.select(table2)
cq.where(cb.not(cb.exists(subquery)))
TypedQuery typedQuery = mediationEntityManager.createQuery(cq); 
List resultList = typedQuery.getResultList();

MySQL Query:

SELECT table1 
FROM   table1 table1 
WHERE  NOT EXISTS (SELECT table2 
                   FROM   table2 table2 
                   WHERE  table2.name = table1.name 
                          AND table2.education = table1.education 
                          AND table2.age = table1.age) 
       AND table1.name = 'san' 
       AND table1.age = '10'; 

Мне нужен запрос API критериев JPA для вышеупомянутого запроса MySQL.

Ответы на вопрос(1)

Ваш ответ на вопрос