sql >> Databáze >  >> RDS >> PostgreSQL

HQL - Zkontrolujte, zda pole obsahuje hodnotu

Pro mapování polí budete potřebovat vlastní typ. K tomu můžete použít projekt hibernate-types:https://vladmihalcea.com/how-to-map-java-and-sql-arrays-with-jpa-and-hibernate/

Zkusili jste použít e2.col3 = FUNCTION('ANY', e1.col3Arr) dosud? Pokud to nefunguje, navrhuji vám vytvořit vlastní SQLFunction které vykreslí požadované SQL, např.

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) + ")";
    }
}

Funkci budete muset zaregistrovat v dialektu.



  1. OSX ld:knihovna nebyla nalezena pro -lssl

  2. MySQL DROP FOREIGN KEY Omezení

  3. Python MySQL - SELECTy fungují, ale ne DELETE?

  4. Konfigurace spouštěcího prostředí v SQL Server Management Studio (SSMS) - SQL Server / Výukový program TSQL, část 7