Это не ответ на ваш фактический вопрос о цитировании псевдонимов, но это может быть решением проблемы JPA + Snowflake, поскольку у нас была та же проблема и мы искали то же решение.
Если вы используете библиотеку Snowflake JDBC , добавление &CLIENT_RESULT_COLUMN_CASE_INSENSITIVE=true
в конец строки подключения Snowflake позволит библиотеке работать с JPA / Hibernate.Убедитесь, что вы используете Latest Snowflake JDBC из-за некоторых ошибок в более ранних версиях, приводящих к изменению строки подключения с jdbc:snowflake://
на https://
во время выполнения.
Установка этого параметраСвойство подключения вызовет этот columnName.toUpperCase()
код, и теперь будет работать метод getColumnIndex()
.
Дополнительная информация выходит за рамки вашего вопроса: когда мы устанавливаем наш весенний application.propertiesподобно следующему, мы смогли использовать PagingAndSortingRepository без использования нашего собственного DataSource или каких-либо дополнительных классов конфигурации.
spring.jpa.properties.hibernate.dialect=[empty class extending org.hibernate.dialect.Dialect]
spring.datasource.driverClassName=net.snowflake.client.jdbc.SnowflakeDriver
spring.datasource.username=${snowflake.user}
spring.datasource.password=${snowflake.password}
spring.datasource.url=jdbc:snowflake://${snowflake.account}.snowflakecomputing.com/?warehouse=${snowflake.warehouse}&db=${snowflake.databaseName}&schema=${snowflake.schema}&CLIENT_RESULT_COLUMN_CASE_INSENSITIVE=true