【问题标题】:Example Queries in HibernateHibernate 中的示例查询
【发布时间】:2012-06-09 08:44:47
【问题描述】:

我试图了解 Hibernate 中的示例查询是如何工作的。

deptId 是部门表的主键。

我最初尝试过这段代码:

Dept department = new Dept();
        department.setDeptId(3);
        //department.setDeptName("ABCD");
        Criteria criteria = session.createCriteria(Dept.class).add(Example.create(department));

执行此代码,结果不会被过滤 w.r.t 具有 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));

根据部门名称(即 ABCD)过滤结果

请告知示例查询的行为为何如此。

【问题讨论】:

    标签: hibernate criteria hibernate-criteria


    【解决方案1】:

    documentation 开始,示例查询 (QBE) 将忽略主键。

    对于简单的主键,如果你知道 PK 的值,你可以改用load()get()

    对于复合主键,我同意QBE对主键的支持是必要的。但是,这个请求仍然是unresolved

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      相关资源
      最近更新 更多