За картографиране на масивите ще ви трябва персонализиран тип. Можете да използвате проекта hibernate-types за това: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) + ")";
}
}
Ще трябва да регистрирате функцията в Dialect.