兼容Postgres、MySQL、HSQL的字节数组类型



我有一个列,它看起来像这样:

@Column(name = "somedata", columnDefinition = "bytea")
@Size(min = 1, max = 65535)
private byte[] somedata;

这个bytea列定义在PostgreSQL中运行良好,但出于测试目的,我使用了不支持它的HSQL,只有当我将其重命名为blob时。我想使用MySQL作为第二个数据源,它也不支持上面提到的HSQL数据类型。

所以我的问题是,对于字节数组类型,是否有一个通用的解决方案可以同时适用于这三种数据源?

我已经设法让它以这种方式为这三个数据库工作:

现在的类型是:

  1. HSQL blob
  2. PostgreSQL字节
  3. MySQL介质blob
@Column(name = "somedata", length = 5 * 1024 * 1024)
@Size(min = 1, max = 65535)
@Type(type="org.hibernate.type.BinaryType")
@Lob
private byte[] somedata;

最新更新