У меня есть проект Spring Boot с базой данных AzureSQL.Я пытаюсь перенести его в безсерверную среду.Поэтому я переместил методы из контроллеров в Spring Cloud Function и использовал AzureSpringBootRequestHandler
, чтобы сопоставить его с функциями Azure.
Теперь проблема при подключении базы данных.Когда я запускаю проект как приложение Spring Boot, оно работает, подключается к базе данных и извлекает результаты.
Конфигурации БД находятся в application.properties
,
spring.datasource.url=(jdbc url)
spring.jpa.properties.hibernate.default_schema=testdb
spring.datasource.username=username
spring.datasource.password=password
, когда я его запускаюкак функция Azure, он выдает следующую ошибку.
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: Unable to resolve persistence unit root URL
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1791)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
[6/27/2019 10:01:10 AM] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105)
[6/27/2019 10:01:10 AM] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
[6/27/2019 10:01:10 AM] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
[6/27/2019 10:01:10 AM] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:748)
[6/27/2019 10:01:10 AM] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)
[6/27/2019 10:01:10 AM] at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
[6/27/2019 10:01:10 AM] at org.springframework.cloud.function.adapter.azure.AzureSpringFunctionInitializer.initialize(AzureSpringFunctionInitializer.java:97)
[6/27/2019 10:01:10 AM] at org.springframework.cloud.function.adapter.azure.AzureSpringBootRequestHandler.handleRequest(AzureSpringBootRequestHandler.java:52)
[6/27/2019 10:01:10 AM] at com.app.admin.handler.CodeHandler.getCodeValueByTypeList(CodeHandler.java:28)
[6/27/2019 10:01:10 AM] ... 16 more
[6/27/2019 10:01:10 AM] Caused by: javax.persistence.PersistenceException: Unable to resolve persistence unit root URL
[6/27/2019 10:01:10 AM] at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:640)
[6/27/2019 10:01:10 AM] at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.preparePersistenceUnitInfos(DefaultPersistenceUnitManager.java:462)
[6/27/2019 10:01:10 AM] at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:443)
[6/27/2019 10:01:10 AM] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:328)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1850)
[6/27/2019 10:01:10 AM] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1787)
[6/27/2019 10:01:10 AM] ... 31 more
[6/27/2019 10:01:10 AM] Caused by: java.io.FileNotFoundException: class path resource [] cannot be resolved to URL because it does not exist
[6/27/2019 10:01:10 AM] at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:195)
[6/27/2019 10:01:10 AM] at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:636)
[6/27/2019 10:01:10 AM] ... 36 more
Буду признателен за любую помощь.