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 が select 句の暗黙的な結合から明示的な SQL 結合を生成するためです。
ただし、productType が (DB で) null のときに上記を実行すると、内部結合のために行が返されません。この関係では、休止状態のデフォルトで外部結合を実行したいと思います(関係はオプションであるため)。そのため、行がまったくないのではなく、col2の「null」が返されます。
これが可能かどうか誰にもわかりますか?
ありがとう。