Микронавт с Oracle и jpa - PullRequest
       101

Микронавт с Oracle и jpa

1 голос
/ 20 марта 2020

Я пытаюсь использовать micronaut с oracle и jpa (придумаем приложение hello world), но создание фабрики сеансов hibernate вызывает исключение

, похоже, что одна из последовательностей находится вне диапазона. но мое приложение или объект не загружает ни одного объекта.

io.micronaut.context.exceptions.BeanInstantiationException: Bean definition [org.hibernate.SessionFactory] could not be loaded: Error instantiating bean of type [org.hibernate.SessionFactory]: Unable to build DatabaseInformation
    at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1359)
    at io.micronaut.context.DefaultApplicationContext.initializeContext(DefaultApplicationContext.java:236)
    at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:2543)
    at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:204)
    at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:188)
    at io.micronaut.runtime.Micronaut.start(Micronaut.java:64)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:294)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:280)
    at com.mypackage.main(Service.java:7)
Caused by: io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [org.hibernate.SessionFactory]: Unable to build DatabaseInformation
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1721)
    at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2402)
    at io.micronaut.context.DefaultBeanContext.loadContextScopeBean(DefaultBeanContext.java:1983)
    at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1357)
    ... 8 common frames omitted
Caused by: org.hibernate.exception.GenericJDBCException: Unable to build DatabaseInformation
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
    at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:163)
    at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:96)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:184)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:73)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:320)
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
    at io.micronaut.configuration.hibernate.jpa.EntityManagerFactoryBean.hibernateSessionFactory(EntityManagerFactoryBean.java:170)
    at io.micronaut.configuration.hibernate.jpa.$EntityManagerFactoryBean$HibernateSessionFactory3Definition.build(Unknown Source)
    at io.micronaut.context.BeanDefinitionDelegate.build(BeanDefinitionDelegate.java:125)
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1693)
    ... 11 common frames omitted
Caused by: java.sql.SQLException: Numeric Overflow
    at oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:4136)
    at oracle.jdbc.driver.NumberCommonAccessor.getLong(NumberCommonAccessor.java:634)
    at oracle.jdbc.driver.GeneratedStatement.getLong(GeneratedStatement.java:206)
    at oracle.jdbc.driver.GeneratedScrollableResultSet.getLong(GeneratedScrollableResultSet.java:259)
    at oracle.jdbc.driver.GeneratedResultSet.getLong(GeneratedResultSet.java:558)
    at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong(HikariProxyResultSet.java)
    at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetMinValue(SequenceInformationExtractorLegacyImpl.java:134)
    at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:60)
    at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:65)
    at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.<init>(DatabaseInformationImpl.java:59)
    at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:155)
    ... 20 common frames omitted

и application.yml -

---
micronaut:
    application:
        name: mohamedmiledijpa
        max: 50
    environments: tst
    server:
      port: 8083


---

datasources:
  default:
    url: jdbc:oracle:thin:@machinename:1521:db
    driverClassName: oracle.jdbc.driver.OracleDriver
    username: usr
    password: pwd



jpa:
  default:
    packages-to-scan: com.myservice.entity
    properties:
      hibernate:
        hbm2ddl:
          auto: update

  servicename:
      service:
        name: myservice
        realm: env1




. Любая помощь будет принята с благодарностью. Все примеры данных микронавтов используют базу данных h2. кто-нибудь сталкивался с какими-либо проблемами при подключении к oracle с данными микронуата

build.gradle

apply plugin: 'application'
apply plugin: 'java'
apply plugin: 'distribution'


mainClassName = "mainclass"


dependencies {


    annotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion")
    annotationProcessor "io.micronaut:micronaut-inject-java"
    annotationProcessor "io.micronaut:micronaut-validation"
    implementation "io.micronaut.configuration:micronaut-hibernate-jpa" // <1>
    implementation "io.micronaut.configuration:micronaut-jdbc-hikari" // <2>
    runtimeOnly 'com.oracle:ojdbc8:12.2.0.1.0'

    compile "io.micronaut:micronaut-http-server-netty"

    compile "io.micronaut.configuration:micronaut-hibernate-jpa"
}


test.classpath += configurations.developmentOnly

tasks.withType(JavaCompile){
    options.encoding = "UTF-8"
    options.compilerArgs.add('-parameters')
}

repositories {
 // organisation repositories , removed purposefully here
}



task processConfig(type: Copy) {
    from('src/main/resources') {
        include '**/*'
    }

    into ('src/dist/resources')
}

classes {
    classes.dependsOn processConfig
}

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