I'm dealing with a situation where I use parameters in a PreparedStatement multiple times:
SELECT * FROM SOME_TABLE
WHERE (A LIKE 'searchterm1' OR B LIKE 'searchterm1' OR C LIKE 'searchterm1')
AND   (A LIKE 'searchterm2' OR B LIKE 'searchterm2' OR C LIKE 'searchterm2')
When filling the parameters, I have to supply each parameter (searchterm1 and searchterm2) multiple times:
try (PreparedStatement statement = connection.prepareStatement(
        "SELECT * FROM SOME_TABLE " +
                " WHERE (A LIKE ? OR B LIKE ? OR C LIKE ?) " +
                " AND   (A LIKE ? OR B LIKE ? OR C LIKE ?")) {
    statement.setString(1, "searchterm1");
    statement.setString(2, "searchterm1");
    statement.setString(3, "searchterm1");
    statement.setString(4, "searchterm2");
    statement.setString(5, "searchterm2");
    statement.setString(6, "searchterm2");
    ResultSet resultSet = statement.executeQuery();
}
Is there a way to reference the same parameter multiple times in a prepared statement query, so I only need to set it once (per parameter)? So something like
- Named parameters: 
:searchterm1, or - Indexed parameters: 
?1