Entity A ㅡ 1:1 ㅡ Entity B 인 상태에서(nallable)

jpaQueryFactory
.select(a.name, b.id, b.name)
.from(a)
.leftJoin(a.b, b).on(b.name.eq("백갤러"))
where(a.id.eq(paramId))
.fetchFirst();

이렇게 작성하면
실제 쿼리에서는 select a.name, a.b_id, b.name...
이런식으로 b의 id를 b의 컬럼에서 안가져오고 a의 컬럼에서 가져와버린단 말이지.
굳이 outer join을 한 이유가
기본적으로 a.name은 갖고오고 연관된 b가 없거나 b.name이 백갤러가 아니면 id, name 전부 null 처리하고 싶은데
b.id로 명시해놔도 실쿼리는 a.b_id가 날아가..
이거 b.id로 바꾸는 방법 없을까?