JPA Join Multiple Columns ON Clause

Viewed 2227

I am using JPA 2.2.0 in my project. I have below requirement to write a hibernate query using "CriteriaBuilder". Below is sample code snippet

CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
                CriteriaQuery<A> criteriaQuery = criteriaBuilder.createQuery(A.class);
Root<A> aRoot= criteriaQuery.from(A.class);
Join<A,B> abJoin= aRoot.join("aliasB", JoinType.LEFT);

....

I want to join two tables A and B. However I want to join A with B with 2 columns c1 and c2. Is it possible in JPA 2.2.0? If so, how we can do this?

for Eg.,

I need below query,

SELECT * FROM A LEFT JOIN 
B ON A.c1 = B.c1 AND **B.c2 = 'Yes'**
0 Answers
Related