当前位置: 首页 > 知识库问答 >
问题:

当撇号存在时,Hibernate标准无法找到结果

章昆琦
2023-03-14

Hibernatecriteria.list在查询包含撇号时无法找到对象'

冬眠:3.2.7。ga

当用户注册时,他们将通过以下hibernate调用保存在数据库中:

 User user;
 //set data in user
 getHibernateTemplate().save(user);

正如预期的那样,这有助于正确处理像撇号这样的特殊字符。

但当我使用以下代码检索用户时,它无法找到在用户名中使用撇号注册的用户:

public User getUserByUsername(String username) {
    Criteria criteria = this.getSession().createCriteria(User.class);
    criteria.add(Restrictions.eq("loginid", username));
    List<Utente> users = criteria.list();
    User user = null;
    if (!users.isEmpty()) {
        user = users.get(0);
    }
    return user;
}

该代码适用于“test”等普通用户名,但在给出“test'test”等用户名标准时。列表将返回一个空列表。我检查了一下,我知道用户被保存在数据库中,它无法用这个代码检索它。

有什么想法吗?

“条件列表”实际运行此代码(为了清晰起见,删除了一些字段):

select this_.id as id0_0_, this_.loginid as loginid0_0_, this_.password as password0_0_, this_.email as email0_0_ from user this_ where this_.loginid=?

loginid在Java中是一个字符串,在SQL代码中是一个可变的字符(255)。映射为:

<property
    name="loginid"
    type="java.lang.String"
    column="loginid"
    not-null="true"
    unique="true"
 />
  • 数据库:Postgres SQL 9.3
  • 冬眠。方言=组织。冬眠地方话PostgreSql方言
  • dataSource类:“org.springframework.jdbc.dataSource.driverManager数据源”

共有1个答案

颛孙高义
2023-03-14

佩巴克。。。登录表单被设置为将用户登录截断为比注册表单短的字符数——巧合的是,我用撇号测试的字符串也很长。简单地说,问题是因为标准中使用了错误的用户名。

 类似资料:
  • 本文向大家介绍xml 撇号和引号,包括了xml 撇号和引号的使用技巧和注意事项,需要的朋友参考一下 示例 属性值可以用单引号或双引号出现。适当的字符必须转义。            

  • 我在生成签名的apk时出错 它在构建APK时工作正常。 这里有什么问题?

  • 问题内容: 我需要在我的xpath表达式中使用撇号(’),这需要使用webdriver查找元素 我需要使用下面的Xpath表达式 在查找元素功能中使用上述表达式时,我用单引号替换了双引号 问题答案: 使用如下所示的xpath: 希望这可以帮助。

  • 问题内容: 基本上,我试图使用Selenium的Xpath处理以下HTML: 我正在使用以下选择器: 看起来很简单,但是根据Selenium,它返回0个匹配项。我也在在线xpath测试器中尝试过: http://codebeautify.org/Xpath-Tester 而且也不会返回任何结果。奇怪的是,当我删除 xmlns =“ http://www.w3.org/1999/xhtml” -at

  • 我有一个程序,要求我输入产品的ID,然后搜索数据库以显示特定产品的详细信息。 除了productID 2和productID 4之外,该代码适用于数据库中的每个项目,因为它们没有存储在其中一个列(PRODUCT_TYPE)中的数据。 我的代码中有一个if语句,它说: 但是我不明白为什么如果产品类型为null,它无法找到产品,但是如果描述为null,它仍然可以找到产品。 任何帮助都将不胜感激。谢谢

  • 问题内容: 当我使用以下代码实例化Hibernate时: 我有以下例外情况: org.xml.sax.SAXParseException:文档无效:找不到语法。org.xml.sax.SAXParseException:文档根元素“ hibernate-configuration”必须与DOCTYPE根“ null”匹配。引起原因:org.hibernate.MappingException:or