gpt4 book ai didi

java - 如何将 '<<' 之类的 PostgreSQL inet 运算符与 Hibernate Criteria API 一起使用?

转载 作者:行者123 更新时间:2023-11-29 12:27:41 31 4
gpt4 key购买 nike

给定一个 CIDR 字符串,如“192.168/16”,我想检查它是否包含我的 PostgreSQL 表中的 IP 地址。

我要编写的 SQL 是这样的:


SELECT ip
FROM ip_mac
WHERE ip << inet('192.168/16');

我们的应用程序使用 Hibernate。我已经定义了一个 UserType 来将字符串转换为 Inet 类型。我需要能够使用 <<和其他人在查询 IP 地址时。

  1. 如何让 Hibernate 呈现 <<接线员?
  2. 如何让 Hibernate 呈现 inet(CIDR_STRING)

我希望能够使用 Criteria API 来执行此操作,因为其他条件也可能是查询的一部分。我看过this ,但解决方案涉及使用 native JPA 查询和强制转换。我宁愿尽可能坚持使用 Java 语义。

最佳答案

我正在提供我自己的答案。 @Sotirios Delimanolis 的评论是正确的:HQL 或 Criteria 都不可能实现我想要的。我们求助于 PostgreSQL 特定的 native SQL 查询。这符合我们此应用程序的目的。

关于java - 如何将 '<<' 之类的 PostgreSQL inet 运算符与 Hibernate Criteria API 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751425/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com