Anda harus menambahkan 'null guard' Anda ke pencarian teks lengkap dan menggunakan to_tsquery bukannya plainto_tsquery (agar pencarian awalan berfungsi).
SqlStatement = "SELECT * FROM ACCOUNT "
+ " WHERE (trim(?) = '') IS NOT FALSE"
+ " OR to_tsvector('english', USER_NAME || ' ' || FIRST_NAME || ' ' || LAST_NAME ) @@ to_tsquery(?)"
+ " ORDER BY user_name ASC offset ? limit ? ";
dan tambahkan searchString ke PreparedStatement . Anda untuk kedua kalinya
ps = conn.prepareStatement(sql);
ps.setString(1, searchString);
ps.setString(2, searchString);
ps.setInt(3, firstRow);
ps.setInt(4, rowCount);
Catatan menggunakan pencarian teks lengkap Anda tidak akan dapat mencari bagian kata (seperti %user% , %name atau us%name ). Anda dapat mencari awalan, mis. user:*