我正在尝试使用Hibernate QBE(实际上是Spring的HibernateTemplate.findByExample())通过用户名返回用户列表。我使用“已知的好”值进行搜索(数据库中确实存在用户名“JOHN.SMITH”)。

不幸的是,我没有任何结果。以下是单元测试。

@Test
public void testQueryByExample() {

    User qbeUser = new User();
    qbeUser.setUsername("JOHN.SMITH");

    List<User> userList = userDao.queryByExample(qbeUser);
    Assert.notNull(userList);
    Assert.isTrue(userList.size() > 0, "List of returned users must not be 0");

}

queryByExample()方法在通用DAO中定义:
@SuppressWarnings("unchecked")
public List<T> queryByExample(T obj) {
    return getHibernateTemplate().findByExample(obj);
}

QBE是否需要某种特殊的配置才能工作?

最佳答案

我这纯属愚蠢。

用作示例的类中包含一些int和boolean(基元)。由于这些值默认为0和false,因此查询失败。

08-04 22:38