我有一个基于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 Security表单登录时出现这个众所周知的错误。
jan 13, 2015 12:51:05 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: operator does not exist: character varying = bytea
我已经读过,由于PostgreSQL和驱动程序的版本存在差异,可能会发生这种情况,但对我来说似乎没问题。
答案 0 :(得分:1)
外键错误。使用Hibernate / JPA时,外键应始终指向另一个表的id(主键)。您的外键引用username
但它应引用id
。作为替代方案,您可以在username
表中创建users
主键,并相应地更改实体注释。