このようなもの (「Y」/「N」をブール型にマップする場合は、カスタム データ型を作成する必要があることに注意してください。この例では文字列に固執します):
public class tooks {
private String bbb;
private DateTime ccc;
private transient String accessType = "Not Defined";
private String ddd;
private String eee = "Y";
}
あなたが何をしようとしているのか本当にわかりません。他の情報を提供していないので、accessTypeを常に「未定義」にしたいだけだと思います。これはデータベース内の実際の列ではないため、論理的にオブジェクト内のどのフィールドにもマップされません。したがって、bbb、ccc、ddd、および eee をマッピング ファイル / 注釈でマッピングするだけで、accessType はデータベースとは無関係なのでマッピングしないでください。
Hibernate は、フィールド マッピングで一時的なフィールドを無視します。メソッド マッピング (ゲッター/セッター) を使用している場合は、getAccessType と setAccessType を JPA の @Transient アノテーションでマークする必要があります。Hibernate はそれらを無視します。
次に、HQL は SQL とほとんど同じです。
List<took> tooks = (List<took>)session.createQuery("select distinct t from took t where t.eee = 'N' order by t.aaa asc").list();
結果のすべてのオブジェクトには accessType == "Not Defined" が含まれますが、データベースから選択されたからではなく (マップされていないため)、Java オブジェクトで初期化された値にすぎないことに注意してください。あなたが目指していた最終結果。