Hibernate 查询中的 Unicode 字符串

2023-12-11

在 SQL 中,我们可以编写一个查询来搜索人名,如下所示:

SELECT * FROM Person P WHERE P.Name LIKE N'%ike%'

该查询将使用 unicode 字符运行(假设名称列和数据库设置为处理 unicode 支持)。

我在 HQL 中有一个类似的查询,由 Hibernate (NHibernate) 运行。生成的查询如下所示:

SELECT P FROM SumTotal.TP.Models.Party.Person P join P.Demographics PD WHERE (PD.LastName LIKE '%カタカ%'  )

不幸的是,在 HQL 中的文字前面放置“N”会导致错误。我尝试转义字符串中的 unicode 字符,但仍然没有成功。

数据库正在从 Hibernate 接受并保存 unicode 字符。我已经能够成功地使用 unicode 字符串填充对象,使用 Hibernate 保存它,并在数据库中验证它。在我看来,我不能在自定义查询中使用 unicode 字符串(或者我也假设命名查询),这似乎有点奇怪。

这是 Hibernate (Nhibernate) 的已知问题或限制吗?如何在 HQL 中使用 unicode?

有几个站点建议使用条件查询。由于我正在使用的框架的限制,这是不可能的。


您是否尝试过使用参数:

IList<Person> people = session
    .CreateQuery("from Person p where p.Name like :name")
    .SetParameter("name", "%カタカ%")
    .List<Person>();

它们还具有保护您的查询免受 SQL 注入的优势。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate 查询中的 Unicode 字符串 的相关文章

随机推荐

  • 使用 VBScript 读取 CSV 文件

    我有一个包含 4 个字段的文件 A B C D 我只想提取第四个字段并将其更改为 E 有办法实现这个吗 假设这些值不包含逗号 请使用读取文件文件系统对象 FSO 那么Split每行以逗号分隔 根据需要更改包含 4 个值的结果数组 然后joi
  • R data.table 按名称进行多列转换[重复]

    这个问题在这里已经有答案了 设 DT 为数据表 DT lt data table V1 factor 1 10 V2 factor 1 10 V9 factor 1 10 是否有更好 更简单的方法来进行多列因子转换 如下所示 DT Vn1
  • 简写“index >= 0 && count++”有什么作用?

    我正在消磨时间阅读下划线 字符串函数 当我发现这个奇怪的简写时 function count str substr var count 0 index for var i 0 i lt str length index str indexO
  • 这种初始化方法有什么区别?

    这两个代码有什么区别 class SomeClass SomeType val new SomeType and class SomeClass SomeType val SomeClass val new SomeType 哪种方法是首选
  • R 闪亮的 RODBC 连接失败

    我有一个可以在本地运行的 R 闪亮应用程序 但是当我上传它时 出现错误 first argument is not an open RODBC channel 这是我的代码 conn lt suppressWarnings odbcDriv
  • C 计算字符串中某个字符出现的次数

    我是 C 新手 我正在自己工作explode像函数一样 我正在尝试计算指定字符在字符串中出现的次数 int count chars char string char chr int count 0 int i for i 0 i lt si
  • 如何使用selenium python点击谷歌上的第一个结果

    我正在尝试点击谷歌结果上的第一个结果 这是我的代码 我在其中输入从 csv 文件读取的 chennai craiglist 所以我确信有机结果中的第一个链接将是 chennai craiglist org 但我很安静 不知道该怎么做 fro
  • 如何用awk合并两个文件?

    我有两个文件的顺序相同 并且行数相同 file1 仅2列 562 201 RIR1 562 202 RIR1 562 203 RIR1 562 204 RIR1 562 205 RIR1 562 206 RIR1 562 207 RIR1
  • 库未在 Python 中初始化(pygame)

    所以我有一个在类函数中创建的字体 我在代码中多次调用这个函数并且它运行得很好 但是有一次当我调用它时它说 self font pygame font Font None self text size RuntimeError Library
  • UWP 项目中的条件包引用

    我想使用一个 NuGet 包仅用于调试配置 我found如果我有一个针对 Creators Update 15063 的 UWP 项目 则可以在 Visual Studio 2017 中执行此操作
  • Odoo 规则实际上运行正常吗?

    我的目的 我试图使用安全规则来实现以下目的 我需要在用户模型中添加一个字段 该字段将设置每个用户可以修改哪些仓库 这是因为我想隐藏您不允许看到的库存变动 其他仓库的库存变动 我做了什么 我创建了一个多对多字段命名allowed wareho
  • Bootstrap 工具提示不起作用

    我在这里要疯了 我有以下 HTML a href title A nice tooltip test a 而且Bootstrap风格的工具提示拒绝显示 只是一个普通的工具提示 我的 bootstrap css 工作得很好 我可以看到其中的类
  • c++11 如何实现`std::string ToString(std::tuple &t)`?

    我想要一个非常友好的ToString许多类型的函数 包括std tuple 函数是这样的 template
  • 绘制 100% 堆叠图问题

    我得到了一个数据框 df5 其中包含我从 read csv 读取的下表 Week Days Category Total Products Sold Total Profit 0 Monday A 3221 9999 53 0 Monday
  • 32 位 .NET 最大字节数组大小是否 < 2GB?

    我一直在研究一些与字节数组的最大大小相关的问题 here and here 并一直在玩一些数组并得到一些我不太明白的结果 我的代码如下 byte myByteArr byte myByteArr2 new byte 671084476 fo
  • 多个 WebClient 不工作?

    我正在尝试使用三个单独的 WebClient 下载三个文件 我用这个 void client1 OpenReadCompleted object sender OpenReadCompletedEventArgs e MessageBox
  • 如何搜索哈希表?

    我刚刚开始学习哈希表 我了解如何插入但不知道如何搜索 这些是我将基于这个问题的算法 散列密钥 int Hash int key return key 10 table has a max size of 10 用于解决碰撞的线性探测 假设我
  • 在 Laravel 中显示输入数组的验证错误

    我正在向我的控制器提交一组输入 如下所示
  • 使用 JsonObjectRequest 和 GET 请求发送 JSON 正文

    我需要通过 get 方法发送 json 代码 我尝试通过 JsonObjectRequest 发送方法 url 和参数 响应为 null 并且未发送 json JSONObject request new JSONObject try re
  • Hibernate 查询中的 Unicode 字符串

    在 SQL 中 我们可以编写一个查询来搜索人名 如下所示 SELECT FROM Person P WHERE P Name LIKE N ike 该查询将使用 unicode 字符运行 假设名称列和数据库设置为处理 unicode 支持