我在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映射不是一种选择。)
答案 0 :(得分:1)
使用orm.xml
的XML映射会覆盖带注释的映射。
因此,您可以在/src/test/resources/
中为此实体包含XML映射文件,并为此列定义正确的数据类型。