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.

questionAnswers(1)

yourAnswerToTheQuestion