Dưới đây là một phiên bản tối thiểu của mã đó đã cho tôi rất nhiều thời gian để tìm hiểu xem tại sao nó không làm việc:HibernateException với setTimestamp nhưng làm việc với setParameter
Query q = session.createQuery(queryString);
q.setTimestamp(0, new java.util.Date());
Các lỗi là:
Unset positional parameter at position: 0
Khi tôi thay setTimestamp()
với setParameter()
:
Query q = session.createQuery(queryString);
q.setParameter(0, new java.util.Date());
Và nó làm việc, nhưng tôi không thể hiểu tại sao. Tôi đang sử dụng hibernate 3.2.1.
EDIT: Bài đăng có đề xuất khác đi đâu? Đây chính là nó!!
chuỗi truy vấn của bạn trông như thế nào? – Casey
Nó là ''từ các ứng dụng s trong đó s.validUntil giữa? Và?" '(HQL). Cả hai đã thực sự từ một đối tượng 'Calendar' bằng cách sử dụng' cal.getTime() 'nhưng để giữ nó đơn giản, tôi chỉ bao gồm một đối tượng' Date' trần. Lỗi vẫn giữ nguyên cả hai cách. – Raidok