PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

HQL - Kiểm tra xem một Mảng có chứa giá trị hay không

Để ánh xạ các mảng, bạn sẽ cần một kiểu tùy chỉnh. Bạn có thể sử dụng dự án kiểu ngủ đông cho việc này: https://vladmihalcea.com/how-to-map-java-and-sql-arrays-with-jpa-and-hibernate/

Bạn đã thử sử dụng e2.col3 = FUNCTION('ANY', e1.col3Arr) nhưng? Nếu điều đó không hiệu quả, tôi khuyên bạn nên tạo một SQLFunction tùy chỉnh hiển thị SQL mà bạn mong muốn, ví dụ:

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

Bạn sẽ phải đăng ký chức năng trong Phương ngữ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgres phát hiện các mẫu số 0 lặp lại

  2. Cách triển khai số đếm Oracle (riêng biệt) qua phân vùng trong Postgres

  3. Cấp quyền cho người dùng đối với bất kỳ bảng mới nào được tạo trong postgresql

  4. Chỉ mục GIN trên cột smallint [] không được sử dụng hoặc toán tử lỗi không phải là duy nhất

  5. PL / pgSQL và SQL trong PostgreSQL có cùng cấp với chuẩn SQL / PSM, thay vì chỉ chuẩn SQL không?