我正在尝试使用Envers来设置对Hibernate实体的审计。但是,我得到了一个错误:
无法确定类型为:几何学,在表: Location_AUD,对于列: org.hibernate.mapping.Column(geom)
Hibernate对我在没有审核的情况下使用的几何图形类型很满意,但是Envers似乎在使用它时遇到了问题。
有人知道Envers是否与Hibernate Spatial 4一起工作吗?如果是这样的话,也许有人可以用我的代码发现问题。
@Audited
@Entity
public class Location {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_LOCATION")
@SequenceGenerator(name = "SEQ_LOCATION", sequenceName = "SEQ_LOCATION", allocationSize = 1)
Long id;
@Type(type = "org.hibernate.spatial.GeometryType")
Geometry geom;
...
}我使用Hibernate 4.2.5和HibernateSpatial 4.0.0 M1
发布于 2013-11-25 19:53:07
我也有同样的问题。手动为几何图形类型添加Hibernate @TypeDef注释似乎对我有效。不管出于什么原因,即使Hibernate核心会自动获取GeometryType映射,envers也不会自动获取它。因此,对于我们的申请,我有:
@Entity
@Audited
@Table(name = "geo_element")
@ForeignKey(name = "FK_geo_element__id__element")
@TypeDef(name = "geometry", typeClass = GeometryType.class)
public class GeoElement extends Element {
@Type(type = "geometry")
@Column(name = "data")
private Point data;
//...
}我们使用Hibernate 4.1,Hibernate空间4.0-M1运行在Spring3.1.3之上,并使用Spring的LocalSessionFactoryBean进行配置。
https://stackoverflow.com/questions/18951105
复制相似问题