मैं जावा 8 में एक सरल माइक्रोस्कोस बनाने के लिए स्प्रिंग बूट और डेटा रेस्ट का उपयोग करता हूं और पोस्टग्रेस अपवाद प्राप्त करता हूं।स्प्रिंग डेटा रेस्ट: "डेट शून्य है" क्वेरी पोस्टग्रेस अपवाद फेंकता है
मेरे इकाई:
@Entity
public class ArchivedInvoice implements Serializable {
...
@Column
private String invoiceNumber;
@Column
private java.sql.Date invoiceDate;
...
}
मेरे भंडार इंटरफ़ेस:
@RepositoryRestResource(collectionResourceRel = "archivedinvoices", path = "archivedinvoices")
public interface ArchivedInvoiceRepository extends PagingAndSortingRepository < ArchivedInvoice, Long > {
...
@RestResource(rel = "findByXYZ", path = "findByXYZ")
@Query(value = "SELECT ai FROM #{#entityName} ai WHERE "
+ "(:invoiceNumber IS NULL OR ai.invoiceNumber LIKE :invoiceNumber) AND "
+ "(:invoiceDate IS NULL OR ai.invoiceDate = :invoiceDate)"
)
public Page <ArchivedInvoice> findByXYZ(
@Param("invoiceNumber") @Nullable String invoiceNumber,
@Param("invoiceDate") @Nullable Date invoiceDate,
Pageable p);
...
}
अगर मैं कॉल "? .../findByXYZ invoiceDate = 2016/02/22", मैं निम्नलिखित मिल जाएगा त्रुटि संदेश:
org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet
...
Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
...
Caused by: org.postgresql.util.PSQLException: FEHLER: could not determine data type of parameter
लेकिन यह, काम करता है जब मैं निकालें: भाग "invoiceDate शून्य है"। यदि चालानडेट पैरामीटर शून्य है, तो मैं कैसे जांच सकता हूं?
आपको यह एक http://stackoverflow.com/a/27193644/2055854 –