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

Bộ lọc $ không hoạt động trong JPA / Olingo 2.0.11 với MySQL

Không giải quyết được vấn đề ban đầu và không phải là cách hiệu quả nhất..nhưng đây là một giải pháp cho cách loại bỏ câu lệnh 'Escape' không chính xác chỉ bằng một dấu gạch chéo:

public class SqlStatementInspector implements StatementInspector {

    private static final long serialVersionUID = 1L;
    private static final Logger LOG = Logger.getLogger(SqlStatementInspector.class);

    @Override
    public String inspect(String sql) {
        if (!sql.contains("escape \'\\'")) {
            return sql;
        }
        // OData JPA query correction -> current version (2.0.11) contains
        // the invalid 'escape "\"' statement that delivers no results
        LOG.info("Replacing invalid statement: escape \"\\\"");
        return sql.replace("escape \'\\'", "");
    }
}

Điều này ghi đè phương thức kiểm tra và bạn có thể sửa đổi truy vấn sql đã tạo khi sử dụng chế độ ngủ đông

trong tệp Persence.xml của mình, sau đó, tôi cần đặt thuộc tính "hibernate.session_factory.statement_ins rà" để kết nối việc triển khai StatementIns Inspector với nhà máy phiên ngủ đông của tôi

<property
                name="hibernate.session_factory.statement_inspector"
                value="SqlStatementInspector" />

tôi không biết chính xác điều này sẽ hoạt động như thế nào với spring-boot nhưng có thể có một thuộc tính tương tự cho application.properties của bạn?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hiệu quả nhất để chọn n hàng cuối cùng trong bảng mà không thay đổi cấu trúc của bảng là gì?

  2. Tìm kiếm bảng mysqli với biểu mẫu và kết quả hiển thị

  3. Cách nhập tệp CSV vào bảng MySQL

  4. Cách tạo Sổ cái / Tài khoản T bằng PHP Mysql

  5. MySQL:Sắp xếp các giá trị GROUP_CONCAT