Cách đơn giản nhất dường như là sử dụng mức cô lập giao dịch 'có thể tuần tự hóa', ngăn chặn việc đọc ảo (người khác chèn dữ liệu sẽ đáp ứng một CHỌN trước đó trong giao dịch của bạn).
if (!conn.getMetaData().supportsTransactionIsolationLevel(Connection.TRANSACTION_SERIALIZABLE)) {
// OK, you're hosed. Hope for your sake your drivers supports this isolation level
}
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
Ngoài ra còn có các kỹ thuật như câu lệnh "MERGE" của Oracle - một câu lệnh đơn có chức năng 'chèn hoặc cập nhật', tùy thuộc vào dữ liệu có ở đó hay không. Tôi không biết liệu Postgres có tương đương hay không, nhưng có những kỹ thuật để 'giả mạo nó' - xem ví dụ: Cách viết CHÈN NẾU KHÔNG TỒN TẠI các truy vấn trong SQL chuẩn .