我有以下错误:
Caused by: java.sql.SQLException: Desbordamiento Numérico
at oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:4139)
at oracle.jdbc.driver.NumberCommonAccessor.getLong(NumberCommonAccessor.java:636)
at oracle.jdbc.driver.GeneratedStatement.getLong(GeneratedStatement.java:208)
at oracle.jdbc.driver.GeneratedScrollableResultSet.getLong(GeneratedScrollableResultSet.java:261)
at oracle.jdbc.driver.GeneratedResultSet.getLong(GeneratedResultSet.java:560)
at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong(HikariProxyResultSet.java)
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetMinValue(SequenceInformationExtractorLegacyImpl.java:115)
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.lambda$extractMetadata$0(SequenceInformationExtractorLegacyImpl.java:55)
at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:50)
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39)
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66)
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.<init>(DatabaseInformationImpl.java:60)
at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:183)
... 127 common frames omitted
我尝试过更改不同版本的 JDBC 驱动程序。
这些是我的财产:
# BBDD
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
#spring.datasource.url=jdbc:oracle:thin:@test:1521:orcl
spring.datasource.url=jdbc:oracle:thin:@test:1521/orcl
spring.datasource.username=TEST1
spring.datasource.password=TEST1
spring.jpa.database-platform=org.hibernate.dialect.OracleDialect
#spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
#spring.jpa.database-platform=org.hibernate.dialect.Oracle12cDialect
#spring.jpa.database-platform=org.hibernate.dialect.Oracle9iDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
(我尝试过几种方言和评论通道驱动类和平台)
这些是我的模型类:
@Entity
public class Configuracion extends Base implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
@Length(max=32)
private String clave;
@NotNull
@Length(max=512)
private String valor;
}
@Entity
public class Callback extends Base implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String ine10;
private String nombre;
@NotNull
private String org;
@NotNull
private String entity;
@NotNull
private String user;
@Column(length = 2048)
private String pass;
@NotNull
private String key;
@Entity
public class Entidad Base implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull @ManyToOne @JoinColumn
private Entidad entidad;
@NotNull @Length(max=12)
private String aplicacion;
@Length(max=24)
private String origen;
@Length(max=256)
private String clave;
@Lob
private String peticion;
@Lob
private String respuesta;
在我的场所,它可以正确指向安装在 docker 中的 Oracle 21g。它不起作用的是具有 19g 的客户端。
oracle 19.0.0.0版本数据库。
我唯一希望的是应用程序能够启动,我已经翻译了 Oracle 抛出的查询,并且我已经手动运行它们并且它们可以工作。
既然你有 spring.jpa.show-sql=true,你可以尝试直接在数据库中执行该 SQL(通过 sqldeveloper 或类似的)并检查它是数据库还是驱动程序的方言?