QueryDSL не работает должным образом с JPA для левого соединения.Я использую queryDSL версии 4.2.1 и сопоставляю ответ непосредственно с сущностью javax.persistence.Для левого соединения / правого соединения условие соединения не работает.Он выбирает каждую сущность, не обращая внимания на условие соединения (здесь это name = "testName"), когда вызывается entity1.getEntity2()
.
Есть ли другой способ, применимый для этого случая, чтобы отобразить результат после таблиц JOIN
?
JPAQuery<Entity1> query = new JPAQuery<>(entityManager);
query.from(table1);
query.leftJoin(table2).on(table2.id.eq(table1.id).and(table2.name.eq("testName"));
List<Entity1> list = query.fetch();
@Entity
public class Entity1{
private Integer id;
@OneToMany(mappedBy = "entity1", fetch = FetchType.LAZY)
private List<Entity2> entity2;
}