2013-09-23 40 views
5

Tôi đang cố gắng sử dụng Envers để thiết lập Kiểm toán trên các thực thể Hibernate của tôi. Tuy nhiên, tôi gặp phải lỗi:Kiểm tra với Envers và Hibernate Spatial 4

Could not determine type for: geometry, at table: Location_AUD, for columns: [org.hibernate.mapping.Column(geom)]

Hibernate hài lòng với loại hình tôi đang sử dụng mà không kiểm tra, nhưng Envers dường như đang gặp sự cố với nó.

Có ai biết nếu Envers hoạt động với Hibernate Spatial 4 không? Nếu có, có lẽ ai đó có thể phát hiện vấn đề với mã của tôi.

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

    ... 
} 

Tôi đang sử dụng Hibernate 4.2.5 với HibernateSpatial 4.0.0 M1

+0

Tôi có lỗi tương tự với không gian. Xin vui lòng cho tôi biết nếu bạn tìm thấy câu trả lời. Tôi cũng vậy. –

+0

Tôi chưa tìm thấy giải pháp nào. Tôi đang xem xét nói cho envers không kiểm toán cột Hình học và tạo ra một getter tùy chỉnh mà envres sau đó kiểm toán (ví dụ như trả về một String của geom như WKT). – Luke

Trả lời

4

Tôi đã có cùng một vấn đề chính xác này. Thêm một chú thích Hibernate @TypeDef cho kiểu hình học dường như đã làm việc cho tôi. Đối với bất kỳ lý do nào máy chủ không tự động nhận ánh xạ GeometryType mặc dù lõi Hibernate có. Vì vậy, cho các ứng dụng của chúng tôi, tôi có:

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

    //... 
} 

Chúng tôi đang sử dụng Hibernate 4.1 với Hibernate không gian 4,0-M1 chạy trên đầu trang của mùa xuân 3.1.3 và cấu hình sử dụng LocalSessionFactoryBean Spring.

+0

Cảm ơn vì điều đó. Chúng tôi đã kết thúc việc kiểm tra bảng Vị trí (với hình học) theo cách thủ công. Tôi sẽ chấp nhận câu trả lời vì nó dường như là giải pháp (mặc dù tôi chưa thử nghiệm nó). – Luke

+1

Tôi đã có cùng một vấn đề và điều này cố định nó cho tôi. – Pythos

Các vấn đề liên quan