PostgreSQL的JDBC无法将枚举类型与字符串匹配

问题描述 投票:0回答:1

在我的数据库中,有一个称为ShopType的类型,它是('Pizzeria','Pub','Cafe')的枚举。在Java中,我想执行以下查询:“ SELECT * FROM myTable WHERE myType = ?”我做了一个preparedStatement:

            PreparedStatement statement = connection.prepareStatement(query);
            statement.setString(1, type);

但是我得到一个例外:ERROR: operator does not exist: ShopType = character varying我该如何解决?

java postgresql jdbc
1个回答
0
投票

枚举不是关系模型的一部分(它是模型的OO扩展,使用枚举类型,甚至不是第一个范式)。>>

关系的方法是使用值创建域表,然后声明从表到域表的外键。之后,您的查询将按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.