5

Enversを使用してHibernateエンティティで監査を設定しようとしています。EnversとHibernate Spatialで監査4

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; 

    ... 
} 

私はこれと同じ問題を抱えていたHibernateSpatial 4.0.0 M1

+0

私は空間的に同じエラーがあります。あなたが答えを見つけたら教えてください。私もします。 –

+0

解決策はまだ見つかりませんでした。私は、ジオメトリの列を監査しないように指示し、監査を扱うカスタムゲッタを作成することを検討しています(たとえば、WKTとしてgeomのStringを返す)。 – Luke

答えて

4

とHibernateは4.2.5を使用しています。ジオメトリタイプのHibernate @TypeDef注釈を手作業で追加することは私にとってはうまくいったようです。どんな理由であれ、Hibernateのコアでもenversは自動的にGeometryTypeのマッピングを受け取っていません。だから、我々のアプリケーションのために、私が持っている:

@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; 

    //... 
} 

私たちは春の3.1.3の上で実行されている休止状態空間4.0-M1と休止4.1を使用し、SpringのLocalSessionFactoryBeanを使用して構成されています。

+0

ありがとう。 Locationテーブルの監査(ジオメトリ付き)は手動で終了しました。私はそれが解決策であるように答えを受け入れます(私はそれをテストしていませんが)。 – Luke

+1

私は同じ問題を抱えていました。 – Pythos

関連する問題