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; 

    ... 
} 

Я использую Hibernate 4.2.5 с HibernateSpatial 4.0.0 M1

+0

У меня такая же ошибка с пространственным. Скажите, пожалуйста, если вы найдете ответ. Я буду также. –

+0

Я еще не нашел решение. Я рассматриваю, что говорю, чтобы они не проверяли столбец «Геометрия» и не создавали настраиваемый getter, который затем проверяет (например, возвращает String геометрии как WKT). – Luke

ответ

4

У меня была эта точно такая же проблема. Вложение вручную типа гибернации @TypeDef, похоже, сработало для меня. По какой-либо причине энверы автоматически не выбирают отображение 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 Пространственное 4,0-M1 работает на вершине Spring 3.1.3 и конфигурируется с использованием Spring в LocalSessionFactoryBean.

+0

Спасибо за это. Мы завершили аудит таблицы местоположения (с геометрией) вручную. Я согласен с ответом, поскольку он, кажется, является решением (хотя я его не тестировал). – Luke

+1

У меня была такая же проблема, и это исправило это для меня. – Pythos

Смежные вопросы