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

如何用MS SQL连接JPQL中的两个字符串

那绪
2023-03-14

我试图更新一个列(在MS SQL表中),该列包含非常长的字符串(文本数据类型),并使用JPQL从我的应用程序中添加一个字符串。但以下查询失败:

UPDATE entity e SET e.longText = CONCAT(e.longText, :textToAppend) WHERE e.id = :id

带消息

The data types text and nvarchar are incompatible in the add operator.

问题是,我们还需要支持MS SQL数据库以外的其他DB,而特定于DBS的查询是不可能的(至少如果有其他方法的话)。

使用这个查询,我试图绕过对整个长文本的查询,将其连接到应用程序中并更新回来,所以它并不慢(查询经常被调用)。

我能以某种方式在很长的文本列中添加一个字符串吗,而不需要在应用程序中手动操作,这样它就可以在MS SQL中工作了?(可悲的是,我知道JPQL中没有演员阵容支持)

在Hibernate中使用JPA。

共有1个答案

余阳秋
2023-03-14

原来我用的是冬眠方言。SQL Server 2008有一个方言(org.hibernate.dialt.sqlserver2008dialog),它可以正确映射@lob string属性。

 类似资料:
  • 问题内容: 我正在尝试连接Java中的字符串。为什么这不起作用? 问题答案: 你可以使用运算符来连接字符串: 被隐式转换为。

  • 我正在尝试用Java连接字符串。为什么这不起作用?

  • 比如说,我有一个名为“Contact”的表,其中“first\u name”和“last\u name”作为列。基本上,“从联系人c中选择concat(c.firstname,,,c.lastname)作为全名”是我在hibernate中想要做的。 我可以将整个查询放在createQuery中,并获得所需的输出。但是,我不想在hibernate中执行sql查询。我在这里找到了一篇类似的帖子“我们可

  • Syntax 字符串的串联可以通过简单的“+”运算符完成。 String+String Parameters - 参数将是2个字符串作为+运算符的左右操作数。 Return Value - 返回值是一个字符串 例子 (Example) 以下是Groovy中字符串连接的示例。 class Example { static void main(String[] args) { St

  • 我已经做了一个有效的解决方案,但它很无聊,也很不优雅: 如何使用Regex实现这一点?

  • 我正在为即将到来的考试做练习题,但似乎无法找出一个问题,目标是: 编写一个C程序来读取两个字符串和。每个字符串的最大大小为25。形成两个名为和的新字符串。Lower由连接的和的小写字母组成,而包含两个字符串的大写字母的连接。 例如:输入: s1:绿蓝色 s2:客车 输出: 上:绿卡 下:蓝巴 我已经尝试了几天,但还没能完全弄清楚。 到目前为止,我有以下信息: