У меня есть сопоставление спящего режима, подобное этому в классе ProductDfn
@ManyToOne( fetch = FetchType.LAZY, optional = true )
@JoinColumn( name = "productTypeFk", nullable = true )
public ProductType getProductType()
{
return productType;
}
Обратите внимание, что связь определяется как необязательная (и столбец имеет значение NULL).
При выполнении HQL что-то вроде этого
select p.name as col1, p.productType.name as col2 from ProductDfn p
Внутреннее соединение используется для присоединения ProductDfn к ProductType, поскольку hibernate генерирует явное соединение SQL из неявного соединения в предложении select.
Однако при выполнении вышеуказанного, когда productType имеет значение null (в БД), никакая строка не возвращается из-за внутреннего соединения. Для этой связи я хотел бы иметь hibernate default для выполнения внешнего соединения (потому что отношение не является обязательным), поэтому я бы получил "нулевой" ответ для col2, а не никакой строки вообще.
Кто-нибудь знает, возможно ли это?
Спасибо.