正直なところ、エイリアスについて少し混乱しているので、誰かがエイリアスをよりよく理解するのを手伝ってくれることを願っています. 不足しているものを説明するために、例を使用します。
私が持っているとしましょう:
Criteria criteria = session.createCriteria(Car.class)
criteria.createAlias("doors", "doors");
つまり、いくつかの制限を使用して、の左側Car
またはそれらの線に沿った何かにあるドアを見つけることができます。
ここで私の質問は、複数のエイリアスをどこに追加するかです:
criteria.createAlias("doors", "doors").createAlias("doors.keytype", "keytype");
と
criteria.createAlias("tier".tier);
これは何を意味するのでしょうか?criteria
オブジェクトにこれらすべてのエイリアスがあることを確認しますか? その場合、getAlias()
メソッドは何を返しますか?
API から:
この基準インスタンスによってカプセル化されたエンティティのエイリアスを取得します。
すべてのエイリアスがこのインスタンスによってカプセル化されているという印象を受けましたか? 私が間違っている?どういうわけか最初のエイリアスを失いましたか?
また、次のようなことをすると:
Criteria criteri2 = criteria.createAlias("tier".tier);
これは、criteria
とcriteria2
ポイント の両方が同じCriteria
か、どちらがどのエイリアスを指しているのか違いますか?
さらに、それぞれcreateAlias
が a を返すことを考えると、それをオリジナルまたは新しいものCriteria
に割り当てる必要がありますか?criteria
私の混乱を理解していただければ幸いです。