Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

$filter tidak berfungsi di JPA/Olingo 2.0.11 dengan MySQL

Tidak menyelesaikan masalah asli dan bukan cara yang paling efisien..tetapi di sini ada solusi untuk cara menghapus pernyataan 'escape' yang salah hanya dengan satu garis miring:

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 \'\\'", "");
    }
}

Ini menimpa metode pemeriksaan dan Anda dapat memodifikasi kueri sql yang dihasilkan saat menggunakan hibernasi

dalam file ketekunan.xml saya, saya kemudian perlu mengatur properti "hibernate.session_factory.statement_inspector" untuk menghubungkan implementasi StatementInspector saya dengan pabrik sesi hibernasi saya

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

saya tidak tahu bagaimana tepatnya ini akan bekerja dengan spring-boot tetapi mungkin ada properti serupa untuk application.properties Anda?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Akses Ditolak untuk Pengguna 'root'@'localhost' (menggunakan kata sandi:YA) - Tidak Ada Hak Istimewa?

  2. Hubungkan MySQL melalui localhost tidak berfungsi tetapi 127.0.0.1 berfungsi

  3. #1242 - Subquery mengembalikan lebih dari 1 baris - mysql

  4. MySQL 'PERBARUI PADA KUNCI DUPLICATE' tanpa kolom unik?

  5. Kesalahan Kueri SQL MySQL WordPress di Kelas WPDB