SQLServerDialect Override для регистрации типа nvarchar в Spring Boot - PullRequest
0 голосов
/ 13 ноября 2018

У меня проблема с типом SQL-сервера nvarchar , и мне необходимо зарегистрировать его в Spring Boot Application. Так как я вызываю существующую хранимую процедуру, у меня нет опции приведения в запросе. Пожалуйста, предложите мне, если есть какой-либо другой способ борьбы с nvarchar

Я использую репозиторий JPA для вызова хранимой процедуры

@Repository
public interface CustomRepo extends JpaRepository<ArchEntity, Long> {

   @Query(value = "{call dbo.storedproc(:objectType)}", nativeQuery = true)
   public List<Object> getData(@Param("objectType") String type);

}

Свойства

spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.datasource.initialize=false
spring.datasource.url=jdbc:sqlserver:**********
spring.datasource.username=*****
spring.datasource.password=*****

И исключение составляет

2018-11-13 09:43:02 - Servlet.service() for servlet 
[dispatcherServlet] in context with path [] threw exception [Request 
processing failed; nested exception is 
org.springframework.orm.jpa.JpaSystemException: No Dialect mapping for JDBC 
type: -9; nested exception is org.hibernate.MappingException: No Dialect 
mapping for JDBC type: -9] with root cause
org.hibernate.MappingException: No Dialect mapping for JDBC type: -9
at org.hibernate.dialect.TypeNames.get(TypeNames.java:70)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:101)
at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:666)
at 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...