PSQLException:错误:运算符不存在:字符变化 = uuid

时间:2021-06-27 11:08:01

标签: java spring postgresql hibernate uuid

我有这个仓库:

@Repository
public interface DomainRepository extends CrudRepository<Domain, String> {
    Domain findByUuid(UUID uuid);
}

我有这个实体:

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name="a", schema="b")
public class Domain {
    @Id
    private String id;
    private UUID uuid;

}

但是当我这样做时 Domain d = domainRepository.findByUuid(UUID.randomUUID());

我得到 PSQLException: ERROR: operator does not exist: character varying = uuid(表中的列类型是 VARCHAR)。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试将字段的类型定义为 Hibernate 无法通过使用 @Type(type="org.hibernate.type.UUIDCharType") 注释字段来理解类型

@Type(type="org.hibernate.type.UUIDCharType")
private UUID id;