Я думаю, что ответ на ваш вопрос заключается в том, что если вы пишете нейтральное к базе данных приложение с использованием JDBC, то вам нужно использовать нейтральные к базе данных имена, а не вещи, которые требуют особого экранирования для каждого поставщика базы данных.
В JDBC я ничего не знаю о том, что поддерживает это. Продукт ORM будет иметь дело с такими вещами.
Редактировать: Если вы пишете ORM, то я думаю, что для каждой поддерживаемой базы данных нужен отдельный класс генерации SQL, просто для обработки различного синтаксиса, поэтому вам придется написать это. Конечно, вы можете посмотреть на исходный код различных открытых ORM и посмотреть, как они справляются с этим.