Hibernate + HSQLDB中的Longblob替代品

时间:2017-09-29 22:25:35

标签: java mysql hibernate hsqldb

我在MySQL数据库中有一个列定义为LONGBLOB。这是其映射使用的java代码:

@Type(type = "org.hibernate.spatial.GeometryType")
@Column(columnDefinition = "LONGBLOB")
private Point latlng;

我现在想在HSQLDB中共享这个定义(用于内存中测试),但遗憾的是HSQLDB没有LONGBLOB类型。

我知道HSQLDB的替代品,比如LONGVARBINARY,但我怎么能指示Hibernate在MySQL上使用LONGBLOB和在HSQLDB上使用LONGVARBINARY?

(我不能用@Lob替换@Column;我试过了,Hibernate默认使用"几何"类型而不是" longblob"。改变当前MySQL映射不是一种选择。)

1 个答案:

答案 0 :(得分:1)

使用orm.xml的XML映射会覆盖带注释的映射。

因此,您可以在/src/test/resources/中为此实体包含XML映射文件,并为此列定义正确的数据类型。