Junção padrão do Hibernate para muitos-para-um anulável
Eu tenho um mapeamento de hibernação como este em uma classe ProductDfn
@ManyToOne( fetch = FetchType.LAZY, optional = true )
@JoinColumn( name = "productTypeFk", nullable = true )
public ProductType getProductType()
{
return productType;
}
Observe que o relacionamento é definido como opcional (e a coluna é anulável).
Ao fazer HQL algo parecido com isto
select p.name as col1, p.productType.name as col2 from ProductDfn p
Uma junção interna é usada para unir ProductDfn a ProductType, pois a hibernação gera a junção SQL explícita a partir da junção implícita na cláusula select.
No entanto, ao fazer o acima, quando productType é nulo (no banco de dados), nenhuma linha é retornada devido à junção interna. Para essa relação, eu gostaria de ter o padrão de hibernação para fazer uma junção externa (porque o relacionamento é opcional), portanto, eu obteria um "nulo" de volta para col2 em vez de nenhuma linha.
Alguém sabe se isso é possível?
Obrigado.