весенняя загрузка не получает данные из настроенной внешней базы данных Oracle - PullRequest
0 голосов
/ 22 марта 2019

Я хочу настроить базу данных Oracle с помощью Spring boot2. Я успешно разработал код слоя дао и модульное тестирование с внедренной базой данных H2. Но теперь, когда я предоставляю подробные сведения о конфигурации источника данных в файле applicationaiton.yaml, он не может получить данные из внешней базы данных Oracle. Ошибка не отображается.

Вот моя конфигурация

pom.xml

<!-- https://mvnrepository.com/artifact/org.eclipse.persistence/eclipselink -->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>2.5.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <!-- <scope>runtime</scope> -->
        </dependency>

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc</artifactId>
            <version>11.2.0.3</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc6.jar</systemPath>
        </dependency>

Уровень обслуживания:

@Autowired
SampleActivityLogRepository repository;

//inside a method
Optional<List<SampleActivityLog>> listOfActivityForToken = repository.findLogByAccNoandTokenIDOrderByDate(userId, example.getKey());

Уровень репозитория:

@Repository
@Transactional
public interface SampleActivityLogRepository extends JpaRepository<SampleActivityLog, Long> {

    @Query("SELECT L FROM SampleActivityLog L WHERE L.accountId = ?1 AND L.userId = ?2 ORDER BY L.createdDate desc")
    Optional<List<SampleActivityLog>> findLogByAccNoandTokenIDOrderByDate(String accNo, String userId);
}

application.yaml:

spring:
  profiles: dev

logging:
  level:
    org.springframework: ERROR
    com.example.rest.Tokennotification: DEBUG

  datasource:
    url: jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = example.com)(PORT = 1875))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = sit)))
    username: mvcschenam
    password: support$12ab
    driverClassName: oracle.jdbc.OracleDriver
  jpa:
    database-platform: org.hibernate.dialect.Oracle10gDialect
    database: H2
    #openInView: false
    show_sql: true
    generate-ddl: false

Что я пробовал:

  1. Я удалил зависимость h2 из файла pom.xml. но он выдал ошибку, для URL источника не настроен

  2. Я попытался удалить автоконфигурацию с помощью @EnableAutoConfiguration (exclude = {DataSourceAutoConfiguration.class}) Но он бросил ошибку, что SampleActivityLogRepository является только интерфейсом .. необходимо реализовать. Но я не вижу большой логики здесь .. как тот же код работал при подключении к загрузочной интегрированной базе данных

Мне нужно подключиться к внешней базе данных, но я не уверен, что мне не хватает. Я не хочу менять свой код, так как считаю, что он довольно аккуратный и работает хорошо. Пожалуйста, направьте меня, что я могу сделать здесь. Заранее спасибо

1 Ответ

0 голосов
/ 22 марта 2019

Попробуйте изменить свой yml на:

spring:
  profiles: dev

  logging:
    level:
      org.springframework: ERROR
      com.example.rest.Tokennotification: DEBUG

  datasource:
    url: jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = example.com)(PORT = 1875))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = sit)))
    username: mvcschenam
    password: support$12ab
    driverClassName: oracle.jdbc.OracleDriver
  jpa:
    database-platform: org.hibernate.dialect.Oracle10gDialect
    database: H2
    #openInView: false
    show_sql: true
    generate-ddl: false

Похоже, ваш источник данных и jpa были ниже узла логирования, а не пружины

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...