Hibernate での例のクエリがどのように機能するかを理解しようとしています。
deptId は、部門テーブルの主キーです。
最初にこのコードを試しました:
Dept department = new Dept();
department.setDeptId(3);
//department.setDeptName("ABCD");
Criteria criteria = session.createCriteria(Dept.class).add(Example.create(department));
このコードを実行すると、deptId = 3 の行に対して結果がフィルタリングされません。つまり、SQL クエリは、1 = 1 の Dept テーブルからすべてのレコードを選択するのと同じです。
しかし、このコードを考えると:
Dept department = new Dept();
//department.setDeptId(3);
department.setDeptName("ABCD");
Criteria criteria = session.createCriteria(Dept.class).add(Example.create(department));
結果は、deptName、つまりABCDでフィルタリングされています
サンプル クエリがこのように動作する理由をお知らせください。