Аудит с Envers и Hibernate Spatial 4

Я пытаюсь использовать Envers для настройки аудита моих объектов Hibernate. Однако я получаю сообщение об ошибке:

Не удалось определить тип для: geometry, в таблице: 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


person Luke    schedule 23.09.2013    source источник
comment
У меня такая же ошибка с пространственным. Скажите, пожалуйста, если найдете ответ. Я также буду.   -  person M.Salomaa    schedule 24.09.2013
comment
Я пока не нашел решения. Я подумываю сказать envers не проверять столбец Geometry и создать настраиваемый получатель, который envres, а затем проверяет (например, возвращает String geom как WKT).   -  person Luke    schedule 27.09.2013


Ответы (1)


У меня была такая же проблема. Мне показалось, что ручное добавление аннотации 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 с Hibernate Spatial 4.0-M1, работающим поверх Spring 3.1.3 и настроенным с помощью Spring LocalSessionFactoryBean.

person Dominic A.    schedule 25.11.2013
comment
Спасибо за это. Мы закончили аудит таблицы Location (с геометрией) вручную. Я приму ответ, так как он кажется решением (хотя я его не тестировал). - person Luke; 01.04.2014
comment
У меня была такая же проблема, и это решило ее для меня. - person Pythos; 11.12.2014