当前位置: 首页 > 面试题库 >

如何将反引号放在称为“休眠”键的列名称中

堵景天
2023-03-14
问题内容

我有一个MySQL DB表,我不能修改但必须在其中插入值。它有一列key,我需要插入其中。

现在,我的.hbm.xml文件具有:

    <property name="key"
          type="string"
          column="key" />

因此,生成的插入查询失败。添加[key]后,现在包含了生成的SQL,key但这也失败了。在检查MYSql
Workbench时,我发现它key可以正常工作。

但是,如果我在上述文件中更改了此设置,则使用[key]时它会还原为“ key”。有人可以指导我如何添加key和带来所需的插入物吗?


问题答案:

为此有一个休眠配置选项。它需要Hibernate 3.5,我不确定您是否根据使用的hbm文件来使用它。

在您的休眠配置集中

hibernate.globally_quoted_identifiers=true

环境配置列表在这里



 类似资料:
  • 问题内容: 我有一个无法修改的MySQL数据库表,但必须将值插入其中。它有一列,我需要插入其中。 现在,我的.hbm.xml文件具有: 因此生成的插入查询失败。添加[key]时,现在包含了生成的SQL,但这也失败了。在检查MYSql Workbench时,我发现它可以正常工作。 但是,如果我在上述文件中更改了此设置,则使用[key]时它会还原为“ key”。有人可以指导我如何添加和带来所需的插入物

  • 问题内容: 我面临着要与MySQL 5.0一起使用而编写的旧系统,现在需要将其迁移到MysQL 5.5(要求)。我发现一列名为,这在MySQL 5.5中似乎是系统单词。因此,我所有包含此列的Hibernate查询都给出语法错误: 由以下原因引起:java.sql.BatchUpdateException:您的SQL语法有错误。检查与您的MySQL服务器版本相对应的手册,以获取在’maxvalue附

  • 问题内容: hibernate如何生成外键约束名称? 如果我没有定义名称,hibernate将生成类似这样的内容 这个名字是怎么产生的?也许来自字段名称的哈希值或类似的东西?我需要知道所有实例上的名称是否相等。 问题答案: Hibernate通过串联表和属性名称来生成约束名称,并将结果转换为。由于某些数据库中的约束名称长度限制,因此需要它。例如,在Oracle数据库中,外键名称的长度不能超过30个

  • 问题内容: 我有两个JPA实体:和。延伸。两者之间存在ManyToMany关系,并被描述为 “一个VirtualLot可以包含VirtualFiles” 和 “一个VirtualFile可以与多个VirtualLots关联” 。实体定义如下: 在这里,我要总结使用弹簧数据JPA库包含在一个给定的VirtualLot的VirtualFiles的大小:。该查询定义如下: 我的问题是Hibernate

  • 问题内容: 在阅读了一些有关SQL问题的答案和评论,并听到我的一个朋友在一个禁止他们使用的政策的地方工作之后,我想知道在MySQL的字段名周围使用反引号是否有问题。 那是: 问题答案: 使用反引号允许您使用其他字符。在查询编写中,这不是问题,但是如果假设您可以使用反引号,那么我认为它可以让您摆脱诸如 当然哪个会生成命名错误的表。 如果您只是为了简洁起见,我认为它没有问题,那么您会注意是否按如下方式

  • 问题内容: 我需要一个存储键值对的表,因此我创建了一个表,其中包含一个名为“ Key”的列和一个名为“ Value”的列。 这将失败: “关键字’key’附近的语法不正确。” 也许我不应该将其称为“键”,但我只是想知道是否可以使用名称为sql关键字的列? 谢谢 问题答案: 您可以在[]括号内括起类似的列名。所以: