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

hibernate chèn lô với postgresql được phân vùng

Bạn có thể muốn thử sử dụng Batcher tùy chỉnh bằng cách đặt thuộc tính hibernate.jdbc.factory_class. Đảm bảo chế độ ngủ đông sẽ không kiểm tra số lượng cập nhật của các hoạt động hàng loạt có thể khắc phục sự cố của bạn, bạn có thể đạt được điều đó bằng cách làm cho Batcher tùy chỉnh của mình mở rộng lớp BatchingBatcher và sau đó ghi đè phương thức doExecuteBatch (...) để trông giống như:

    @Override
    protected void doExecuteBatch(PreparedStatement ps) throws SQLException, HibernateException {
        if ( batchSize == 0 ) {
            log.debug( "no batched statements to execute" );
        }
        else {
            if ( log.isDebugEnabled() ) {
                log.debug( "Executing batch size: " + batchSize );
            }

            try {
//              checkRowCounts( ps.executeBatch(), ps );
                ps.executeBatch();
            }
            catch (RuntimeException re) {
                log.error( "Exception executing batch: ", re );
                throw re;
            }
            finally {
                batchSize = 0;
            }

        }

    }

Lưu ý rằng phương pháp mới không kiểm tra kết quả thực hiện các câu lệnh đã chuẩn bị. Hãy nhớ rằng việc thực hiện thay đổi này có thể ảnh hưởng đến chế độ ngủ đông theo một số cách không mong muốn (hoặc có thể khô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. Ai đó có thể giải thích vai trò của Postgresql, người dùng Postgresql và người dùng Linux liên quan với nhau như thế nào không?

  2. Không thể cài đặt pg gem trên Windows

  3. Java.sql.SQLException khét tiếng:Không tìm thấy trình điều khiển phù hợp

  4. Khi tôi chạy các trường hợp kiểm tra, tôi gặp lỗi này:psycopg2.OperationalError:cursor _django_curs_140351416325888_23 không tồn tại

  5. Cần giải thích về các loại ký tự trong PostgreSQL