使用 JPQL 过滤具有唯一 ID 的重复记录

2024-01-12

我正在查询一个维护不善的建筑物数据库,其记录类似于以下内容:

ID    NAME          CODE
54    Building A    a1234
97    Building A    a1234

我正在使用以下 JPQL 语句进行查询(其中“bCodes”是建筑代码数组):

SELECT building FROM Building building WHERE building.NAME IN (:bCodes)

正如预期的那样,如果 bCodes =“a1234”,我会取回两条记录。 JPQL中有没有办法只拉回一条记录?到目前为止我找不到办法 - 似乎 GROUP BY 和 DISTINCT 在这种情况下不起作用。


我建议修复您的数据库(删除重复项并对适当的列施加唯一约束)。但是,要回答您的问题,您可以使用选择任意 id 的子查询进一步过滤查询:

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

使用 JPQL 过滤具有唯一 ID 的重复记录 的相关文章

  • 如何在 Java 中访问嵌套的 HashMap?

    我有一个 Java 中的 HashMap 其中的内容 你们可能都知道 可以通过以下方式访问 HashMap get keyname 如果一个 HashMap 位于另一个 HashMap 中 即嵌套的 HashMap 我将如何访问内容 我可以
  • 单元测试组合服务方法

    我正在为一个类编写 junit 单元测试 该类使用以下方法实现公开的接口 public Set
  • Hibernate Criteria 连接查询

    如何从以下 sql 创建 Hibernate 标准查询 String hql select e employeeId m meetingId e firstname from Employee e join e meetings m 谁能提
  • 在 Java 中从 SOAPMessage 获取原始 XML

    我已经在 J AX WS 中设置了 SOAP WebServiceProvider 但我无法弄清楚如何从 SOAPMessage 或任何 Node 对象获取原始 XML 下面是我现在获得的代码示例 以及我试图获取 XML 的位置 WebSe
  • 项目缺少所需的注释处理库

    我的 Eclipse IDE 突然在问题视图中显示 xxxx 项目缺少所需的注释处理库 xxxx M2 REPO 中的一些旧 jar 我用谷歌搜索 没有找到任何答案 为什么我的项目使用旧的 jar 以及错误来自哪里 To remove th
  • 迁移到Java 9或更高版本时是否需要切换到模块?

    我们目前正在从 Java 8 迁移到 Java 11 但是 升级我们的服务并没有我们预期的那么痛苦 我们基本上只需要更改我们的版本号build gradle文件和服务都顺利启动并运行 我们升级了库以及使用这些库的 微 服务 到目前为止没有问
  • java中的单链表和双向链表?

    在java中 哪个集合接口可以有效地实现单链表和双向链表 请问代码示例吗 毫不奇怪 实现双向链表的正确接口是 LinkedList 看Java文档 http docs oracle com javase 8 docs api java ut
  • OpenNLP 与斯坦福 CoreNLP

    我一直在对这两个包进行一些比较 但不确定该往哪个方向走 我简单地寻找的是 命名实体识别 人 地点 组织等 性别识别 一个不错的训练 API 据我所知 OpenNLP 和斯坦福 CoreNLP 提供了非常相似的功能 然而 Stanford C
  • Kafka Java Consumer 已关闭

    我刚刚开始使用卡夫卡 我面临着消费者的一个小问题 我用Java写了一个消费者 我收到此异常 IllegalStateException 此消费者已关闭 我在以下行中遇到异常 ConsumerRecords
  • LocalDate 减去 period 得到错误的结果

    LocalDate减去一个Period 如 28年1个月27天 得到错误的结果 但减去一个Period 只有天单位 如 10282 天 得到正确的结果 有什么需要注意的吗 public static void main String arg
  • 改变 Java 中凯撒移位的方向

    用户可以通过选择 1 向左或 2 向右移动字母来选择向左或向右移动 左边工作正常 右边不行 现在它显示了完全相同的循环 但我已经改变了所有 and 以不同的方式进行标记 最终我总是得到奇怪的字符 如何让程序将字符向相反方向移动 如果用户输入
  • MongoDB java 驱动程序 3.0 在身份验证时无法捕获异常

    我超级卡住o 0 在尝试通过 Java 驱动程序进行身份验证时 存在捕获异常的问题 正如你可能会看到的Throwable类不工作 private MongoClient mongoClient private MongoDatabase m
  • 如何配置Spring使JPA(Hibernate)和JDBC(JdbcTemplate或MyBatis)共享同一个事务

    我有一个数据源 我使用 Spring 3 0 3 Hibernate 3 5 1 作为 JPA 提供程序 我使用 MyBatis 3 0 2 进行一些查询 我的应用程序在 Tomcat 6 上运行 我有一个 HibernateDAO 和一个
  • Java和手动执行finalize

    如果我打电话finalize 在我的程序代码中的一个对象上 JVM当垃圾收集器处理这个对象时仍然再次运行该方法吗 这是一个大概的例子 MyObject m new MyObject m finalize m null System gc 是
  • Java 中处理异步响应的设计模式

    我读过类似问答的答案 如何在 JAVA 中创建异步 HTTP 请求 https stackoverflow com questions 3142915 how do you create an asynchronous http reque
  • Java String ReplaceAll 方法给出非法重复错误?

    我有一个字符串 当我尝试运行时replaceAll方法 我收到这个奇怪的错误 String str something op str str replaceAll o n it works fine str str replaceAll n
  • JPA 将 BigDecimal 作为整数保存在数据库中

    我在数据库中有这个字段 ITEMCOST NUMERIC 13 DEFAULT 0 NOT NULL 在JAVA中 Entity中的字段定义如下 Column name ITEMCOST private BigDecimal itemCos
  • java中的预增量/后增量

    有人可以帮助我理解为什么 int i 1 int j 1 int k 1 int l 1 System out println i i System out println j j System out println k k System
  • 使用自定义比较器在 Java 中创建 SortedMap

    我想创建一个TreeMap在 Java 中具有自定义排序顺序 排序后的键是字符串 需要根据第二个字符进行排序 这些值也是字符串 示例地图 Za FOO Ab Bar 您可以像这样使用自定义比较器 Comparator
  • Android Google 地图无法在当前主题中找到样式“mapViewStyle”

    添加谷歌地图视图时 我扩展了MapView 使用xml编辑器将其添加到活动中 并将我的谷歌地图api密钥手动添加到布局xml文件中 我的权限在清单文件中允许互联网 我想知道的是 在 xml 编辑器中 我收到错误 无法在当前主题中找到样式 m

随机推荐

  • WPF拖动距离阈值

    我有一个带有两个 WPF 树视图的程序 允许在两者之间拖放 问题是 打开 关闭树视图上的项目可能很烦人 因为在按住鼠标左键的同时将鼠标移动一个像素会触发拖 放功能 有没有某种方法可以指定鼠标在被视为拖放之前应移动多远 有一个系统参数可以实现
  • 将 Spring 配置划分到多个项目

    我们有很多项目使用相同的代码库 后端代码 只是前端往往有所不同 我们认为最好的方法是将后端和前端分成不同的项目 Engine and 项目名 现在这些是 Spring 项目 因此 如果我们也划分 Spring 配置 这似乎才合乎逻辑 数据库
  • 当 Ionic 电子商务应用程序中购物车中的产品数量增加时,总价格不会更新

    我正在研究离子电子商务应用程序并使用 Laravel 中的 API 我已将产品添加到购物车中 但是当我增加购物车中的产品数量时 产品价格增加 但总价格没有更新 并且从购物车中删除产品时 也没有更新价格 这是我的购物车 html
  • Azure DevOps Server 2019 保留策略不再有效

    上周 我们已在 ADS 2019 1 服务器上从 TFVC 迁移到 Git 在我们的验证管道中 我们有积极的保留政策 它设置为保留 2 天 使用分支过滤器 进行 10 个良好构建 并清除所有复选框 ADS 将其写为 refs heads 我
  • 在 Python 2.6 上安装 geopandas

    这是我之前的问题的延续Python 中的地理空间分析 https stackoverflow com questions 33427170 geospatial analytics in python 我开始了一个新问题 以使这两个问题在逻
  • 折线不在道路上:它从一个点直接延伸到另一个点

    我的地图包含多个点来点击用户经过的位置 但是折线不显示在道路上 但显示从一个标记到另一个标记的直线 https i stack imgur com 3RWlU jpg 我希望我的折线穿过马路 当道路转弯时 它也应该转弯 这是我的相关代码 d
  • SVN 挂钩不工作

    我有一个分支和主干的服务器存储库 分支是所有团队成员的存储库 我正在尝试使用svn hooks仅在我的分支下的仓库中 但它似乎工作得不好 以下是我尝试采取的步骤 检查过了my repo从远程服务器的branch my repo 自本地回购以
  • 如何使用 CMIS 在 Alfresco 中进行批量更新

    是否可以在露天使用 CMIS 进行批量更新 我有不同的文档类型 每个文档类型在露天存储库中都有多个文档 现在我的要求是 如果我要更新任何文档的任何单个属性 那么它应该反映相同类型的所有文档 我可以使用 CMIS 执行此操作吗 如果是 请提供
  • Redux - 一个与多个减速器

    我来自 Elm 社区 在 Elm 中 每个应用程序都有自己的视图 模型和状态 并且基本上采用与 redux 非常相似的方法来解决问题 不管怎样 我发现自己在多个减速器的想法中挣扎 在 Elm 中 我习惯为所有操作 消息 创建一个单独的文件
  • 如何从 angularjs ng-route 中删除哈希#

    我试图使用 locationProvider 从 Angular js 中的 url 路由中删除主题标签 但它给了我错误 app js var eclassApp angular module eclassApp ngRoute eclas
  • 在python中获取每个月的最后一个星期五

    我想要接下来三个月的每个月的最后一个星期五 Friday date datetime date today while Friday date weekday 4 Friday date datetime timedelta 1 这给了我最
  • Slack 应用程序和本地存储

    我们正在计划一个 Slack 应用程序 但我们需要本地存储 我们不想在我们的服务器上存储用户 频道的任何数据 我们希望将其永久或临时保存在用户的本地计算机或 Slack 服务器中 有办法做吗 Thanks 以下是我对这个主题的想法 本地存储
  • GWT 和 Vaadin 之间的差异

    谁能建议 GWT 或 Vaadin 是否是设计应用程序的更好选择 另外 编码风格有什么区别 在 GWT 中 应用程序逻辑通常在客户端运行 它仅在需要读取 保存某些数据时调用服务器 在 Vaadin 中 应用程序逻辑位于服务器端 每次用户交互
  • 添加 IPV6_V6ONLY 标志的动机是什么?

    在 IPv6 网络中 IPV6 V6ONLY 标志用于确保套接字仅使用 IPv6 特别是 IPv4 到 IPv6 的映射不会用于该套接字 在许多操作系统上 默认情况下未设置 IPV6 V6ONLY 但在某些操作系统 例如 Windows 7
  • 报告 API 503 后端错误

    在过去的几周里 我用来从报告 API 检索用户使用情况报告的批处理任务一直失败 并出现以下响应 com google api client googleapis json GoogleJsonResponseException 503 OK
  • Docker:无法连接 Spring Boot 和 MYSQL

    我尝试使用 Dockerfile 或 Docker compose 将我的项目容器化 首先 我使用命令从 mysql 创建容器 docker run name ms p 3306 3306 e MYSQL ROOT PASSWORD pas
  • 按模型的属性(而不是字段)对 Django QuerySet 进行排序

    一些代码和我的目标 我的 简化的 模型 class Stop models Model EXPRESS STOP 0 LOCAL STOP 1 STOP TYPES EXPRESS STOP Express stop LOCAL STOP
  • 将字符添加到频率列表

    我有一个关于霍夫曼编码的项目 但我陷入困境 我不明白为什么我的代码不起作用 这是练习 写一个函数add1给定一个字符 它在频率列表中的频率加 1 如果该字符尚未出现在频率列表中 则会添加该字符 add1 e l 1 e 2 x 1 l 1
  • 连接到 SQL Server 时出现 SQL 异常

    我知道这是一个重复的问题 我发现了非常相似的问题和解决方案 但仍然让我震惊 我正在使用 eclipse 将我的 java 应用程序与 microsoft sql server 2008 数据库连接 以下是我的代码 import java s
  • 使用 JPQL 过滤具有唯一 ID 的重复记录

    我正在查询一个维护不善的建筑物数据库 其记录类似于以下内容 ID NAME CODE 54 Building A a1234 97 Building A a1234 我正在使用以下 JPQL 语句进行查询 其中 bCodes 是建筑代码数组