Tôi có một thực thể có tính chất DateTime vẫn kiên trì với chế độ ngủ đôngLàm thế nào để chuyển đổi Joda DateTime trong JPA truy vấn nguồn gốc
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
@Column(name = "EFF_DT")
protected DateTime effDt;
này tất cả hoạt động tốt và tốt cho thường xuyên mùa xuân-data-JPA tạo ra các truy vấn.
Tôi cố gắng để thêm một truy vấn gốc tùy chỉnh
@Query(value = "SELECT COUNT(*) FROM wsa_circuit_state_history ch WHERE ch.eff_dt between ?1 and ?2", nativeQuery = true)
Integer countEffDateBetween(DateTime start, DateTime end);
Các lỗi tôi nhận được khi cố gắng gọi đây là
java.sql.SQLException: ORA-00932: inconsistent datatypes: expected DATE got BINARY
Đây là lỗi tương tự tôi sử dụng để nhận được với mùa xuân thường xuyên công cụ tìm dữ liệu trước khi thêm ánh xạ loại tùy chỉnh vào thực thể của tôi
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
Làm cách nào tôi có thể tạo ra mùa xuân -data-jpa/hibernate sử dụng ánh xạ kiểu tùy chỉnh cho các tham số cho các truy vấn gốc?
Bạn đã tìm thấy một câu trả lời cho điều này? –
@ WojciechGórski Không, tôi không tìm thấy bản sửa lỗi. Cuối cùng tôi quản lý để viết lại truy vấn trong JPA, và do đó, chú thích hibernate @Type được khởi tạo để xử lý chuyển đổi kiểu '@Query (" select count (ch.circuitId) từ nz.co.vodafone.wcim. model.CircuitStateLog ch nơi ch.effDt giữa? 1 và? 2 và ch.state =? 3 ")' –