我在定义为LONGBLOB的MySQL数据库中有一列。这是在其映射上使用的Java代码:
@Type(type = "org.hibernate.spatial.GeometryType")
@Column(columnDefinition = "LONGBLOB")
private Point latlng;
我现在想在HSQLDB中共享此定义(用于内存中测试),但是不幸的是HSQLDB没有LONGBLOB类型。
我知道诸如LONGVARBINARY之类的HSQLDB替代方案,但是如何指示Hibernate在MySQL上使用LONGBLOB以及在HSQLDB上使用LONGVARBINARY?
(我不能用@Lob替换@Column;我尝试过,并且Hibernate默认使用“ geometry”类型而不是“ longblob”。更改当前的MySQL映射不是一种选择。)
最佳答案
带有orm.xml
的XML映射将覆盖带注释的映射。
因此,您可以在/src/test/resources/
中包含此实体的XML映射文件,并为此列定义适当的数据类型。