我正在尝试使用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,因此查询失败。