@Enumerated(STRING),Hibernate会天真地将枚举名称作为列内容。这对于读取来说非常好用(它只是获取字符串表示形式,匹配并返回),但在写入时,服务器会抱怨类型不匹配:expression is of type character varying。
PostgreSQL JDBC驱动程序有一个参数stringtype,可以告诉服务器为字符串值推断适当的列类型,并且使用stringtype=unspecified可以成功存储枚举值。然而,我将在外部提供JDBC连接字符串环境下部署我的应用程序,因此在连接字符串中添加stringtype属性是不可行的。
是否有一种方法可以配置服务器(例如使用SET命令),使连接默认处理为stringtype=unspecified?