ERROR: operator does not exist: character varying = bytea
ERROR: operator does not exist: character varying = bytea
我有一个基于 Spring MVC + Security + Hibernate 的项目。
Hibernate 和 jdbc 版本是:
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.7.Final</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1102-jdbc41</version>
</dependency>
当我尝试通过 Spring 安全表单登录时,我遇到了这个众所周知的错误。
jan 13, 2015 12:51:05 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: operator does not exist: character varying = bytea
我听说这可能是因为 PostgreSQL 和驱动程序的版本不一致,但我觉得没问题。
外键错误。使用Hibernate/JPA时,外键应该始终指向另一个table的id(主键)。您的外键引用 username
但它应该引用 id
。作为替代方案,您可以在 users
table 中创建 username
主键,并相应地更改实体注释。
我有一个基于 Spring MVC + Security + Hibernate 的项目。 Hibernate 和 jdbc 版本是:
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.7.Final</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1102-jdbc41</version>
</dependency>
当我尝试通过 Spring 安全表单登录时,我遇到了这个众所周知的错误。
jan 13, 2015 12:51:05 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: operator does not exist: character varying = bytea
我听说这可能是因为 PostgreSQL 和驱动程序的版本不一致,但我觉得没问题。
外键错误。使用Hibernate/JPA时,外键应该始终指向另一个table的id(主键)。您的外键引用 username
但它应该引用 id
。作为替代方案,您可以在 users
table 中创建 username
主键,并相应地更改实体注释。