acttype是一个枚举,因此您不能将其作为普通字符串插入
而不将其转换为枚举INSERT INTO dir_act (actcode,actname,acttype,national_code) VALUES (?,?,?::enumcs,?)
至于更新,我确实尝试了如下相同的类型转换,但是没有用。

update dir_act set actname=?,acttype=?::enumcs,national_code=? where actcode=?

最佳答案

您可以这样做避免在Enum上使用toString()

    stmt.setObject(2,AnimalType.DOG,java.sql.Types.OTHER)

适用于JDBC驱动程序postgresql 42.2.5

07-21 19:21