Postgres/hibernate 运算符不存在:text = bytea

2024-02-23

我是 hibernate 世界的新手,在尝试使用 hibernate 和 postgres 执行查询时收到以下错误消息。

org.postgresql.util.PSQLException: ERROR: operator does not exist: text = bytea
Hint: No operator matches the given name and argument type(s). You might
need to add explicit type casts.

这是我的休眠映射(car.hbm.xml):

<hibernate-mapping>
<class name="Car" table="car"
       schema="someSchema">
    <id name="id" type="int" column="car_id">
        <generator class="sequence">
            <param name="sequence">car_seq</param>
        </generator>
    </id>
    <property name="carMake">
        <column name="car_make" sql-type="string"/>
    </property>
    <property name="carModel">
        <column name="car_model" sql-type="string"/>
    </property>
    <property name="carVin" >
        <column name="car_vin" sql-type="int" />
    </property>
    <property name="datePurchased">
        <column name="date_purchased" sql-type="date"/>
    </property>
    <property name="retiredModel">
        <column name="retired_model" sql-type="boolean"/>
    </property>
</class>

在 Postgres 上,我的表如下所示:

CREATE TABLE car (
car_vin INTEGER NOT NULL DEFAULT nextval('car_seq'::regclass) PRIMARY KEY,
car_make TEXT NOT NULL,
car_model TEXT DEFAULT NULL,
date_purchased DATE DEFAULT now() NOT NULL,
retired_model BOOLEAN DEFAULT FALSE NOT NULL
);

这是我的模型类(Car.java):

public class Car {
private int id;
private String carMake;
private String carModel;
private int carVin;
private Date datePurchased;
private boolean retiredModel;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getCarModel() {
    return carModel;
}

public void setcarModel(String carModel) {
    this.carModel = carModel;
}

public String getcarMake() {
    return carMake;
}

public void setcarMake(String carMake) {
    this.carMake = carMake;
}

public Date getDatePurchased() {
    return datePurchased;
}

public void setDatePurchased(Date datePurchased) {
    this.datePurchased = datePurchased;
}

public boolean isRetired() {
    return retiredModel;
}

public void setRetired(boolean retiredModel) {
    this.retiredModel = retiredModel;
}

在我的 DAO 层中,我使用以下行进行查询:

Query query = getSession().createQuery("from Car as c where " +
   "c.carModel = ? AND c.carMake = ?").setParameter(0, carModel).setParameter(1, carMake);

carMake 和 carModel 都是作为 DAO 方法中的方法参数传递的字符串数据类型。

请注意,我的 hbm 中的字符串映射到 postgres 中的 TEXT,所以我猜测这是否是问题所在。如果是,我该如何解决?


这很奇怪,但查询不能很好地处理 null。当我将查询更改为:

Query query = getSession().createQuery("from Car as c where " +
"c.carModel = ? AND c.carMake is null").setParameter(0, carModel);

它工作正常,因为 DAO 需要将 make 查询为 NULL。因此,如果它不为空,我需要有两组查询,一组被硬编码为如上所述选择 null,另一组为 setParam(1, carMake)。

很奇怪,但我认为这有效。

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

Postgres/hibernate 运算符不存在:text = bytea 的相关文章

随机推荐

  • 如何重定向到 root - public/index.html?

    我希望重定向到我的 application public 文件夹中的index html def get current user current user current user if current user nil redirect
  • jQuery animate() 和浏览器性能

    我有一些元素在页面上移动得非常缓慢 本质上 我在 40 秒左右的时间内减少了两个图像的左边距 从视觉上看 它的工作效果非常好 然而 在动画播放过程中 我的处理器使用率跃升至 50 左右 这也不特定于任何单一浏览器 Safari3 和 Fir
  • 如何在可编码结构中使用计算属性(swift)

    我创建了一个 可编码 结构来序列化数据集并将其编码为 Json 除了计算属性未显示在 json 字符串中之外 一切都运行良好 如何在编码阶段包含计算属性 Ex struct SolidObject Codable var height Do
  • 使用 Logback 但 Log4j 开始显示 WARN no Appenders

    我正在使用 logback 进行日志记录 但它一直在工作 前几天我开始收到警告 log4j WARN 找不到记录器 org apache axis i18n ProjectResourceBundle 的附加程序 log4j WARN 请正
  • 在 Flutter 中制作固定的应用程序范围菜单,而不是平板电脑上的抽屉

    我的应用程序有很多路线 几乎每条路线都使用带有相同抽屉菜单的 Scaffold 在应用程序内部导航 我自己的 CustomDrawer 小部件 对于大屏幕的设备 我希望始终在布局中显示左侧的菜单 而不是使用抽屉 它在Gmail应用程序中的工
  • 使用 Erlang,我应该如何在集群之间分配负载?

    我正在查看从属 池模块 它看起来与我的类似 想要 但似乎我的系统中存在单点故障 应用程序 如果主节点出现故障 客户端有一个网关列表 为了后备 全部都做 相同的东西 接受连接 并且从其中选择一个 由客户随机 当客户端连接所有节点时 检查哪个负
  • 在 Windows 上优雅地终止子 Python 进程,以便 Final 子句运行

    在 Windows 机器上 我有许多父进程将启动子进程的场景 由于各种原因 父进程可能想要中止子进程但是 这很重要 让它清理 即运行finally子句 try res bookResource doStuff res finally cle
  • 在 Erlang 中使用 mochijson2 解码 JSON

    我有一个包含一些 JSON 数据的 var A lt lt job id 1 gt gt 使用 mochijson2 我解码数据 Struct mochijson2 decode A 现在我有这个 struct lt lt job gt g
  • 使用 lambda 函数在 pandas group 中聚合

    我有一个聚合声明如下 data data groupby type status name agg one np mean two lambda value 100 value gt 32 sum reading mean test2 la
  • 如何将多个正则表达式组合成一行?

    我的脚本可以很好地执行此操作 images re findall src S media tumblr S tumblr S jpg doc videos re findall S http S video file S tumblr a
  • JavaScript 中的条形码扫描仪?或者插件/扩展

    我正在考虑将 USB 条形码扫描仪接口写入 Web 应用程序 离线应用程序 我的意思是扫描仪将位于客户端计算机而不是服务器上 所以我想知道最好的设计是什么 我知道我可以将 ActiveX 对象或本机插件写入某些浏览器 但这并不理想 有谁知道
  • 如何自动运行 ulimit -c unlimited

    我正在尝试从我的rootfs提供对coredump文件生成的支持 我已经使用 ulimit c unlimited 命令和 hard core 1 修改了 etc limits文件 现在当我给出kill 6 时 期望生成核心文件 但要获取此
  • 通过 REST 进行客户端-服务器同步

    这个问题是关于我认为 Android iOS 开发中非常常见的问题 但我还没有找到任何 标准 解决方案 假设我们有一个相当普通的 REST API 服务器数据库包含 除其他外 表countries and towns具有 1 N 关系 客户
  • CSS Masonry UI 使用“column-count”和“box-shadow”无法正常工作

    下面是我的代码砌体用户界面 我用的是纯CSS 如果有超过4 cards但如果我在下面使用它4 cards the column count 3 效果不佳 body height 1000px ul list style none moz c
  • shell中多个文件的平均值

    我想计算 15 个文件的平均值 ifile1 txt ifile2 txt ifile15 txt 每个文件的列数和行数相同 部分数据看起来像 ifile1 txt ifile2 txt ifile3 txt 3 5 2 2 1 2 1 3
  • 如何在Apple App Store产品描述中显示特殊字符?

    我发现一些应用程序 例如 Toodledo 使用复选标记来标记其修订历史记录 如何在 App Store 产品描述中显示 使用特殊字符 它允许 HTML 还是只需要使用 ascii 字符代码 有什么提示 技巧可以更好地展示我们应用程序的产品
  • 如何在 jqGrid 上实现自动换行(适用于 IE7、IE8 和 FF)

    如何在适用于 IE7 IE8 和 FF 的 jqGrid 上实现自动换行 同时还具有列大小调整功能 网格正确对齐 尝试使用特定宽度的 div 基于初始 TH 宽度 内包装每个 td 上的内容 但 colresize 不适用于我插入的 div
  • java.util.List 是可变的吗?

    我们可以add remove元素到List using add remove 方法而无需创建另一个看起来类似于的列表StringBuilder append 正因如此我认为List是可变的 谁能确认我的理解是正确的吗 如果有错误请解释一下下
  • PHP 忽略 POST 请求

    我正在尝试在 PHP 中创建一个即发即忘方法 以便我可以POST数据发送到网络服务器 无需等待响应 我读到这可以通过使用来实现CURL就像下面的代码一样 ch curl init url curl setopt ch CURLOPT POS
  • Postgres/hibernate 运算符不存在:text = bytea

    我是 hibernate 世界的新手 在尝试使用 hibernate 和 postgres 执行查询时收到以下错误消息 org postgresql util PSQLException ERROR operator does not ex