Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

विधि JPQL के लिए क्वेरी के लिए सत्यापन विफल रहा

आपने स्प्रिंग को उस क्वेरी को मूल के रूप में मानने के लिए कहा है। अन्यथा यह जेपीए विनिर्देश के अनुसार इसे सत्यापित करने का प्रयास करेगा।

कोशिश करें:

@Query(value = "SELECT ...", nativeQuery = true)
public List<Object[]> transactions();

ध्यान रखें कि इस मामले में नए ऑपरेटर सिंटैक्स का उपयोग नहीं किया जा सकता है और आपको परिणाम के साथ Object की एक सरणी के रूप में निपटना होगा ।

वैकल्पिक रूप से

यदि आप सीधे पीओजेओ कक्षा में परिणाम मानचित्र का उपयोग करना चाहते हैं तो आपको (यह मानते हुए कि आप जेपीए 2.1+ का उपयोग कर रहे हैं):

1) मैपिंग को परिभाषित करें:

@SqlResultSetMapping(
    name="transactionsMapping",
    classes={
        @ConstructorResult(
            targetClass=ConsolidateResDB.class,
            columns={
                @ColumnResult(name="transdate"),
                @ColumnResult(name="orderreqid")
                // further mappings ...
            }
        )
    }
)

2) एक मूल क्वेरी परिभाषित करें

@NamedNativeQuery(name="transactions"
    , query="SELECT DATE_FORMAT(ts, '%d-%m-%Y') AS transdate, IFNULL(COUNT(orderreqid),0) ... ")

3) इस विधि को CrudRepository . में परिभाषित करें बिना @Query . के एनोटेशन:

public List<ConsolidateResDB> transactions();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में एक ही टेबल में कैसे डालें?

  2. Mysql2 मणि ​​स्थापित नहीं कर सकता

  3. MySql Proccesslist स्लीप एंट्री से भरी हुई है जिससे बहुत सारे कनेक्शन हो रहे हैं?

  4. यह MySQL संग्रहीत फ़ंक्शन क्वेरी में गणना करने की तुलना में भिन्न परिणाम क्यों देता है?

  5. कैसे जांचें कि mysql डेटाबेस मौजूद है या नहीं?