¿Por qué Hibernate realiza dos consultas para cargar con entusiasmo una asociación bidireccional @OneToOne?

Tengo la entidad A que tiene una entidad B, y B tiene una A con asociación bidireccional @OneToOne.

Ahora, cuando encuentro registros A, hibernate realiza dos consultas con una combinación externa izquierda en B, algo como esto:

select a.id, a.id_b, a.field1, b.id, b.field1 from A as a, B as b left outer join b ON b.id=a.id_b;
select a.id, a.id_b, a.field1, b.id, b.field1 from A as a, B as b left outer join b ON b.id=a.id_b WHERE b.id=?

La primera consulta carga los campos A y B y está bien, pero ¿por qué realizar la segunda consulta para volver a cargar A? Creo que esta consulta carga el contenido A en B, pero esta A es obviamente la A que contiene B ... así que ya está cargada con la primera consulta, ¿no es cierto?

- EDITAR -

Entidad A:

@Entity
public class A implements Serializable{
    // id and other ecc ecc
    @OneToOne
    @JoinColumn(name="id_b")
    B b;
}

Entidad B:

@Entity
public class B implements Serializable{
    // id and other ecc ecc
    @OneToOne(mappedBy="b")
    A a;
}

Esta es la situación, y findAll on A necesita dos consultas ... ¿por qué?

Respuestas a la pregunta(2)

Su respuesta a la pregunta