gpt4 book ai didi

java - 使用 Envers 和 Hibernate Spatial 4 进行审计

转载 作者:搜寻专家 更新时间:2023-10-31 20:12:29 24 4
gpt4 key购买 nike

我正在尝试使用 Envers 在我的 Hibernate 实体上设置审计。但是,我收到错误:

Could not determine type for: geometry, at table: Location_AUD, for columns: [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

最佳答案

我遇到了完全相同的问题。为几何类型手动添加 Hibernate @TypeDef 注释似乎对我有用。无论出于何种原因,envers 都不会自动获取 GeometryType 映射,即使 Hibernate 核心会这样做。所以对于我们的应用程序,我有:

@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 和运行在 Spring 3.1.3 之上的 Hibernate Spatial 4.0-M1,并使用 Spring 的 LocalSessionFactoryBean 配置。

关于java - 使用 Envers 和 Hibernate Spatial 4 进行审计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18951105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com