Estoy cerrando de How to join tables in unidirectional many-to-one condition?.¿Cómo dejo las tablas de unión en unidireccionales de muchos a uno en Hibernate?
Si tiene dos clases:
class A {
@Id
public Long id;
}
class B {
@Id
public Long id;
@ManyToOne
@JoinColumn(name = "parent_id", referencedColumnName = "id")
public A parent;
}
B -> A es una relación de muchos a uno. Entiendo que podría agregar una colección de Bs a A sin embargo, no quiero esa asociación.
Así que mi pregunta real es, ¿Hay una manera de HQL o criterios de creación de la consulta SQL:
select * from A left join B on (b.parent_id = a.id)
Esto recuperará todos los registros A con un producto cartesiano de cada registro B que hace referencia A y incluirá registros A que no tienen B haciendo referencia a ellos.
Si utiliza:
from A a, B b where b.a = a
entonces es una combinación interna y no recibe los registros A que no tienen un B referencia a ellos.
No he encontrado una buena manera de hacer esto sin dos consultas, por lo que cualquier cosa menos que eso sería genial.
Gracias.
@Joe B Y lo que quieres es ... ??? –
@Arthur Ronald F D Garcia: Necesito una forma de Criteria o HQL de hacer la consulta SQL sin procesar que escribí arriba. He editado la publicación para poner la pregunta en negrita. – jbarz