Hibernate中的示例查询
我试图理解Hibernate中的示例查询是如何工作的 deptId是departments表的主键 我最初尝试了以下代码:Hibernate中的示例查询,hibernate,criteria,hibernate-criteria,Hibernate,Criteria,Hibernate Criteria,我试图理解Hibernate中的示例查询是如何工作的 deptId是departments表的主键 我最初尝试了以下代码: Dept department = new Dept(); department.setDeptId(3); //department.setDeptName("ABCD"); Criteria criteria = session.createCriteria(Dept.class).add(Example.create(d
Dept department = new Dept();
department.setDeptId(3);
//department.setDeptName("ABCD");
Criteria criteria = session.createCriteria(Dept.class).add(Example.create(department));
执行此代码时,结果不会被deptId=3的行过滤,也就是说,SQL查询相当于从Dept表中选择所有记录,其中1=1
但是如果我考虑这个代码:
Dept department = new Dept();
//department.setDeptId(3);
department.setDeptName("ABCD");
Criteria criteria = session.createCriteria(Dept.class).add(Example.create(department));
结果将通过deptName(即ABCD)进行过滤
请告知为什么示例查询的行为是这样的 从中,示例查询(QBE)将忽略主键
对于简单的主键,如果知道PK的值,可以使用load()
或get()
对于复合主键,我同意在QBE中支持主键是必要的。然而,这一要求仍然没有得到满足