我有实体 BLOB
柱子:
@Lob
@Column(name = "SRC")
private byte[] src;
我的应用程序使用两个数据库,Oracle 和 PostgreSQL。当我用上面写的 Oracle 启动应用程序时,一切正常,但是当我用 PostgreSQL 启动时,出现错误:Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [src] in table [catalogs]; found [bytea (Types#BINARY)], but expecting [oid (Types#BLOB)]
之后我在谷歌阅读文章和建议并修复它:@Lob
@Type(type="org.hibernate.type.BinaryType")
@Column(name = "SRC")
private byte[] src;
现在它在 PostgreSQL 上运行良好,但在 Oracle 中我得到了异常:Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [src] in table [catalogs]; found [blob (Types#BLOB)], but expecting [raw(255) (Types#VARBINARY)]
我应该怎么做才能使它在两个数据库上都能正常工作?附言我和 CLOB 有类似的问题
最佳答案
不幸的是, hibernate 实体是特定于数据库提供程序的。
关于java - 如何使 BLOB 在 Oracle 和 PostgreSQL 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52968473/