如何使用JPA本机查询选择多个具有相同名称的列?

2023-11-21

我在通过 JPA 使用 sql 本机查询选择一些数据时遇到了一些麻烦。那是因为我有 3 个具有相同名称的列“descricao”。

当我通过执行选择操作时创建本地查询的方法实体管理器接口找到的第一列值将覆盖其他列值。

(例如,当我在对象数组中得到这个结果时,给定记录的第一列的值是“foo”,第二个“bar”和第三个“foobar”(因为我没有 ORM 映射实体),无论何处应填充描述列的给定第二个和第三个值,填充第一个值)

我很确定这是因为我曾经使用过 JPA,一旦直接在数据库上选择就可以正确返回所有内容。

环境:

MySQL5; EJB 3.0; JPA 1.0; JBoss 5.0.0GA; JDK 1.6;

SQL查询:

"select p.id, p.datapedido, b.descricao, prd.descricao, s.nome,
            usuario.email, cc.chave_cupom, prd.nome,
             ca.descricao, i.produto_id, i.valoritem,
             hc.valor_utilizado, tp.datapagamento
            ..."

实体 Bean 中的标量列映射:

@SqlResultSetMapping(
      name="DescricaoColumnAlias",
      columns={@ColumnResult(name="B_DESCRICAO"),
               @ColumnResult(name="CA_DESCRICAO"),
               @ColumnResult(name="PRD_DESCRICAO")}
)

现在,按照列映射中的指定,对本机查询中的列使用别名。

“选择 p.id、p.datapedido、b.descricao 作为 B_DESCRICAO、prd.descricao 作为 PRD_DESCRICAO、s.nome、usuario.email、cc.chave_cupom、prd.nome、ca.descricao 作为 CA_DESCRICAO、i.produto_id、i。 valoritem、hc.valor_utilizado、tp.datapagamento...”

通过指定 resultSetMapping & query 创建本机查询。

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

如何使用JPA本机查询选择多个具有相同名称的列? 的相关文章

随机推荐

  • Android Studio:该文件不是项目的一部分,但项目构建成功

    我在android studio中突然出现了一个奇怪的问题 我创建了一个新的 cpp 文件 并将其包含在 Android mk 中 然后我同步了该项目 然而 android studio 仍然抱怨该文件不是项目的一部分 我需要同步 但整个项
  • 找不到模块FindOpenCV.cmake(配置过程中出错)

    我写了一个CMakeLists txt对于一个项目C 它使用OpenCV图书馆 当我尝试使用 cmake 创建项目时 出现下一个配置问题 CMake Error at CMakeLists txt 15 find package Could
  • 如何告诉 Symfony 3 忽略某些注释?

    我正在使用 Symfony 3 开发 API 我想使用apidoc创建文档 APIDoc 使用注释 api get user id Request User information apiName GetUser apiGroup User
  • 如何提取没有索引的数组的键和值[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我想从数组 带有键和值的原始数组 中提取数据 提取数组后 我需要两个新数组 第一个数组仅
  • 将 backstack 与 ViewPager 结合使用

    我正在使用 ViewPager 在我的 Android 应用程序中实现滑动 但是 我希望当用户使用后退按钮而不是结束活动时显示前一个片段 有什么办法可以做到这一点吗 谢谢 塞巴斯蒂安 我有类似的问题 这就是我解决的方法 我有一个包含 6 个
  • 如何使用 python lambda 捕获异常

    假设 Python 版本 gt 3 并调用函数列表 我想编写一个处理异常的 lambda 函数 事实是 它不起作用 当函数中抛出异常时 程序返回并且调用堆栈看不到executeFunction in it 怎么办呢 def executeF
  • 检查文本文件中是否存在字符串

    所以我有 def CheckUserExists user with open C database txt r as file if re search user file read return True else return Fal
  • MySQL并发更新

    我有一个小型 POS 系统 服务器端使用 PHP 和 MySql InnoDB 当 销售 完成时 执行以下查询来更新库存数量 UPDATE products SET qty qty qty ustatus 1 WHERE pid pid 这
  • 正确使用SetThreadAffinityMask

    有 12 个核心 12 个线程正在运行 我想将 1 个线程绑定到每个核心 这就是我在每个线程的开头所说的 int core 12 SetThreadAffinityMask GetCurrentThread 1 lt
  • VBA 取消过滤范围

    我正在使用这段代码 Sheets Sheet1 AutofilterMode False 使用 VBA 取消筛选 Excel 工作表中的数据 重点是清除所有筛选器 这似乎并不总是有效 有更好的方法吗 谢谢你 如果有帮助的话 该表是从 Sql
  • 如何通过多个sudo和su命令找到原始用户?

    通过 sudo 或 su 运行脚本时 我想获取原始用户 无论是否有多个 这都应该发生sudo or su彼此内部运行 特别是sudo su Results Use who am i awk print 1 OR logname因为没有其他方
  • (通用)lisp 中的 Unix 信号处理

    我对这个主题做了一些研究 但发现了一些空白 在 Common Lisp 中似乎有依赖于实现的方法来进行 Unix 信号处理 但是是否有一个包可以提供跨实现的信号处理方法 我主要想监听 SIGINT 并在我的应用程序中正常关闭 我在 Linu
  • Apache HttpClient 4.3.5 设置代理

    看来我可以在构建 new 时指定代理HttpClient with HttpHost proxy new HttpHost someproxy 8080 DefaultProxyRoutePlanner routePlanner new D
  • 浮点相等测试和额外精度:此代码会失败吗?

    讨论开始于我对另一个问题的回答 下面的代码确定机器厄普西隆 float compute eps float eps 1 0f while 1 0f eps 1 0f eps 2 0f return eps 在评论中有人建议1 0f eps
  • 形状类似于指南针指针或 Safari 徽标的内部部分

    我正在尝试仅使用 CSS 制作以下形状 我知道使用图像或 SVG 实现此形状会容易得多 但我正在尝试使用 CSS 实现它以进行概念验证 下面是我迄今为止尝试过的代码 它通过使用创建一个菱形形状transform rotate 45deg 但
  • 在 OSX 上运行 NUnit 测试的步骤

    如何在 Mac 上运行 VS2010 中开发的 NUnit 测试 这似乎是一个非常简单和幼稚的问题 但我一直在努力寻找所有步骤 我已经通过搜索网络来找到确切的步骤来完成尽职调查 我的 Mac 上有 Mono 但没有 monodevelop
  • 为什么我不能在 Xcode 8 中使用新的内联 #imageLiteral 语法? “返回结果中的预期表达式”

    我正在尝试使用新的 imageLiteralXcode 8 中资产文件夹中的内联图像分配 而不是整个UIImage named 语法它只是显示的图像 如图所示 但是当我这样做时 当它是一个函数时 我会收到错误 返回结果中的预期表达式 这是一
  • Android 主题中的 textAllCaps

    我有一个主题 希望所有活动的文本视图都大写 所以我在样式中设置 textAllCaps 然后将其应用到我的主题中的 textViewStyle 如下所示
  • 使用 Jquery 鼠标悬停时放大图像?

    我试图在鼠标悬停时放大图像 并在鼠标移开后将尺寸缩小到正常大小 我有以下内容 image img live mouseover function var this this this attr width 25 this attr heig
  • 如何使用JPA本机查询选择多个具有相同名称的列?

    我在通过 JPA 使用 sql 本机查询选择一些数据时遇到了一些麻烦 那是因为我有 3 个具有相同名称的列 descricao 当我通过执行选择操作时创建本地查询的方法实体管理器接口找到的第一列值将覆盖其他列值 例如 当我在对象数组中得到这