首页 > 解决方案 > UUID 类型的外键列抛出“原因:org.postgresql.util.PSQLException:错误:列是 uuid 类型,但表达式是 bytea 类型”

问题描述

我有一个表,其中主列是 uuid 类型。同一列在另一个表中被引用为外键。当我尝试从休眠将数据插入外部表时,我得到“由:org.postgresql.util.PSQLException:错误:列是 uuid 类型,但表达式是 bytea 类型提示:您需要重写或强制转换表达式。 " 例外。如果有人遇到这个问题,请回复帖子。

主表 ID 生成

@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Type(type = "pg-uuid")
@Id
@Column(name = "id")
public UUID getId() {
    return id;
}

外部表参考

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id",  columnDefinition="uuid")
public Company getCompanyid() {
    return companyid;
}

将数据保存到外部表而不是主表时会引发错误。

标签: javapostgresql-9.6hibernate-4.x

解决方案


推荐阅读