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

HQL - जांचें कि क्या किसी सरणी में कोई मान है

सरणियों की मैपिंग के लिए आपको एक कस्टम प्रकार की आवश्यकता होगी। आप इसके लिए हाइबरनेट-प्रकार परियोजना का उपयोग कर सकते हैं:https://vladmihalcea.com/how-to-map-java-and-sql-arrays-with-jpa-and-hibernate/

क्या आपने e2.col3 = FUNCTION('ANY', e1.col3Arr) का उपयोग करने की कोशिश की अभी तक? अगर वह काम नहीं करता है, तो मैं आपको एक कस्टम SQLFunction . बनाने का सुझाव दूंगा जो आपके इच्छित SQL को प्रस्तुत करता है उदा.

public class ArrayAny implements SQLFunction {

    @Override
    public boolean hasArguments() {
        return true;
    }

    @Override
    public boolean hasParenthesesIfNoArguments() {
        return true;
    }

    @Override
    public Type getReturnType(Type firstArgumentType, Mapping mapping) throws QueryException {
        return firstArgumentType;
    }

    @Override
    public String render(Type firstArgumentType, List args, SessionFactoryImplementor factory) throws QueryException {
        return "any(" + args.get(0) + ")";
    }
}

आपको बोली के भीतर समारोह को पंजीकृत करना होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL के ट्रिगर से पहले परिणाम को अनदेखा करने के लिए?

  2. PostgreSQL:JSONB फ़ील्ड सहित SUM विशेषताएँ कैसे करें, और तालिका आकार बनाए रखें?

  3. PostgreSQL अधिक आउटपुट अक्षम करता है

  4. एसक्यूएल:नियंत्रित करना कि कितने रिकॉर्ड लौटाए जाते हैं

  5. विंडोज़ 10 में निष्पादित होने पर 'डेटा निर्देशिका में गलत स्वामित्व है' त्रुटि देते हुए डॉकर कंटेनर बंद हो जाता है