我在 ProductDfn 类中有这样的休眠映射
@ManyToOne( fetch = FetchType.LAZY, optional = true )
@JoinColumn( name = "productTypeFk", nullable = true )
public ProductType getProductType()
{
return productType;
}
请注意,该关系被定义为可选的(并且该列可以为空)。
当做这样的HQL
select p.name as col1, p.productType.name as col2 from ProductDfn p
内部连接用于将 ProductDfn 连接到 ProductType,因为 hibernate 从 select 子句中的隐式连接生成显式 SQL 连接。
但是,当 productType 为 null 时(在数据库中)执行上述操作时,由于内部连接,不会返回任何行。对于这种关系,我希望休眠默认进行外部连接(因为关系是可选的),所以我会为 col2 返回一个“null”,而不是根本没有行。
有谁知道这是否可能?
谢谢。