私は K と Other を親テーブル Errand にマッピングしましたが、それらは真の ID に関連付けられています。問題は、Errand には 1 つの K または 1 つの Other しかないということです。このような 1 つの行のみに Crieteria Query がある場合、シームレスに機能します。
public void AddNoteQuery(DetachedCriteria query)
{
if (_request.Note != null)
{
query
.CreateAlias("Other", "o")
.Add(Restrictions.Eq("o.Note", _request.Note));
}
}
しかし、K OR Other Criteria クエリを実行しようとすると、結果が得られません!
public void AddNoteQuery(DetachedCriteria query)
{
if (_request.Note != null)
{
query
.CreateAlias("K", "k")
.CreateAlias("Other", "o")
.Add(Restrictions.Or(
Restrictions.Eq("k.Note", _request.Note),
Restrictions.Eq("o.Note", _request.Note)));
}
}