Getting “with clause can only reference columns in the driving table” when trying to write a JPA 2.1 left outer join
I’m using JPA 2.1 and Hibernate 4.3.6.Final. I’m trying to use CriteriaBuilder to write a left outer join with conditions, so I have final CriteriaBuilder cb = m_entityManager.getCriteriaBuilder(); CriteriaQuery<Message> query = cb.createQuery(Message.class); Root<Message> messageRoot = query.from(Message.class); final Join<Message, Group> groupJoin = messageRoot.join(Message_.group); final Join<Message, MessageReadDate> msgReadDateJoin = messageRoot.join(Message_.messageReads, JoinType.LEFT); // form left outer join clause. msgReadDateJoin.on( cb.equal(messageRoot, msgReadDateJoin.get