MSSQL - JPA - 特殊字符的字符编码 - 附加“N”nativeQuery

2024-03-28

我使用 Spring 4.3.1 和 JPA 2.0 并连接到 MSSQL。我正在使用 JpaRepository 的 save 方法来插入和更新数据。其中一个字段具有 nvarchar,它可以包含特殊字符,如拉丁文、中文。

另外,我在 applicationContext-hibernate.xml 中设置了以下 JPA 属性。

            <prop key="hibernate.connection.CharSet">UTF-8</prop>
            <prop key="hibernate.connection.useUnicode">true</prop>
            <prop key="hibernate.connection.characterEncoding">UTF-8</prop>

当我保存数据时,所有特殊字符都保存为问号(??)。 建议的解决方案是在更新查询前面附加“N”以保持插入的特殊字符。但是,我没有看到如何在 JpaRepository 的 save 方法中附加“N”。有什么建议么?


将字段声明为 byte[] 数组,如下所示。

@Column(name="[colName]", columnDefinition = "nvarchar", length=4000)
    private byte[] colName;

在映射时,您必须使用 UTF-16 将 byte[] 转换为 String ,如下所示。 来自数据库(映射):

byte[] eCodeData = dbData.getColName();
            if(eCodeData != null){
                uiData.setColName(new String(eCodeData, StandardCharsets.UTF_16));
            }

to DB:

String eCodeData = uiData.getColName();
        if(eCodeData != null){
            dbData.setColName(eCodeData.getBytes(StandardCharsets.UTF_16)); 
        }

就是这个。这会发挥魔法。

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

MSSQL - JPA - 特殊字符的字符编码 - 附加“N”nativeQuery 的相关文章

随机推荐

  • a*b* 是正则吗?

    I know anbn for n gt 0 is not regular by the pumping lemma but I would imagine a b to be regular since both a b don t ha
  • .NET Framework 上的 System.Numerics.Vector 初始化性能

    System Numerics Vector 为 NET Core 和 NET Framework 带来了 SIMD 支持 它适用于 NET Framework 4 6 和 NET Core Baseline public void Sim
  • Google Apps 脚本是否支持外部 IDE?

    我正在使用 Google Apps 脚本 想知道是否可以使用 Google 提供的编辑器之外的任何类型的编辑器 我购买了 Sublime Text 并且想使用它 Google 提供的那个很恶心 文本很小 尽管我有一个巨大的屏幕和语法颜色 我
  • Android 单选按钮

    我在 Android 中有一个单选按钮组 看起来像 选择颜色 Red Blue Orange Green 我需要选择单选按钮及其值 我在 radiogroup 中以这种方式有 4 个单选按钮rg rb1a RadioButton findV
  • Chrome CLI 的参数 --virtual-time-budget 的真正含义是什么?

    我知道该论点的文档 virtual time budget 在源中 https cs chromium org chromium src headless app headless shell switches ccChromium 但我觉
  • Zend Framework 3 中的 GetServiceLocator

    早上好 我一直在学习使用框架 Zend Framework 进行编程 根据我过去的经验 我使用的是骨架应用程序 v 2 5 也就是说 我过去开发的所有模块都围绕 ServiceManager 的 servicelocator 工作 有没有办
  • 如何在Android中的WebView中永久突出显示文本?

    我正在为 Android 手机开发 ePUB 阅读器 我可以使用 WebView 和 ClipBoardManager 将文本复制到 ClipBoard 但我真正想做的是永久突出显示该选择 我看到一些文章 他们建议让 WebView 处于选
  • Windows 客户端(而非 Web 应用程序)打印的最佳方式?

    从 c net 打印内容的最佳方法是什么 问题涉及单页以及包含大量页面的报告 如果能获得最常见的打印库的列表 其中包含每个库的主要功能和陷阱 那就太好了 更新 适用于标准 Windows 客户端 或服务器 不适用于网络应用程序 对于报告 我
  • 从数组和频率创建哈希

    我有一个数组 1 2 4 5 4 7 我想找到每个数字的频率并将其存储在哈希中 我有这段代码 但它返回NoMethodError undefined method for nil NilClass def score array hash
  • Python默认参数评估[重复]

    这个问题在这里已经有答案了 我正在阅读 Python 文档版本 2 7 10 中的 python 教程 我遇到了类似的内容 Code def fun1 a L L append a return L print fun1 1 print f
  • java.lang.IllegalArgumentException:未找到命名查询:

    我得到以下代码 Stateless public class BondecomandeDAO PersistenceContext private EntityManager em public Bondecommande findBCby
  • 检测 iframe 对象中的 src/位置更改

    我有一个 iframe 对象指向特定页面 例如 我希望每当 iframe 的位置发生变化时都会收到警报 因为用户单击了其中的链接 Doing onLoad alert this ContentWindow location href 什么也
  • 在 C++ 中是否有模仿 Java try/finally 的常用习惯用法?

    从事 Java 工作很多年了 所以一直没有关注 C 有finally子句是否已添加到语言定义中的 C 异常处理中 有没有一种流行的模仿 Java 的 try finally 的习惯用法 我还担心 C 没有一个终极超类型来处理所有可能抛出的异
  • .NET Micro Framework 不安全代码

    NET Micro Framework 是否支持不安全代码 换句话说 我可以在 NET Micro Framework 的代码中使用指针吗 来自维基百科页面 http en wikipedia org wiki NET Micro Fram
  • 使用 ARC 手动保留

    在 ARC 之前 我有以下代码 可以在异步操作正在进行时保留委托 void startAsyncWork delegate retain calls executeAsyncWork asynchronously void executeA
  • 如何获得带有括号和所有内容的 SQL Server 列定义?

    我需要一种智能方法 以可在 CREATE TABLE 语句中使用的方式从 INFORMATION SCHEMA COLUMNS 中获取数据类型 问题是需要理解的 额外 字段 例如 NUMERIC 精度和数字 SCALE 显然 我可以忽略 I
  • 在 HIVE 中选择该月的第一天

    我正在使用 Hive 它与 SQL 类似 但对于 SQL 用户来说语法可能略有不同 我看过其他的stackoverflow 但它们似乎在SQL中具有不同的语法 我试图通过此查询获取该月的第一天 这给了我今天的一天 例如 如果今天是 2015
  • Android:尝试序列化...忘记注册类型适配器?”

    如何使用 HashMap 转换为 JSONGson https code google com p google gson class ClassData public String jsonString public Class clas
  • 将输出分配给 Bash 中的变量[重复]

    这个问题在这里已经有答案了 我试图将 cURL 的输出分配给一个变量 如下所示 bin sh IP curl automation whatismyip com n09230945 asp echo IP sed s IP IP nsupd
  • MSSQL - JPA - 特殊字符的字符编码 - 附加“N”nativeQuery

    我使用 Spring 4 3 1 和 JPA 2 0 并连接到 MSSQL 我正在使用 JpaRepository 的 save 方法来插入和更新数据 其中一个字段具有 nvarchar 它可以包含特殊字符 如拉丁文 中文 另外 我在 ap