xcs4me
xcs4me

Reputation: 61

Schema not found using Hibernate and Oracle

Right now I am running into an issue where I am getting "MySchema" not found exception:

org.h2.jdbc.JdbcSQLSyntaxErrorException: Schema "MySchema" not found; SQL statement:
select batchstatu0_.batch_key as batch_ke1_0_ from myschema.batch_status batchstatu0_ [90079-199]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:573)
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)

When I run the generated sql from Oracle SQL Developer using the same credentials, the select statement correctly finds the schema and runs the query.

One of the things I initially tried with success but not the solution I would like to go with was to specify a whole new DataSource for the specified schema. That worked but will be a serious headache when we start adding event more schemas. I would much rather use one Datasource and specify the schema in the Table annotations.

@Table(name="BATCH_STATUS", schema ="MySchema")
public class BatchStatus {
...
} 

And the properties:

spring.jpa.hibernate.ddl-auto=create

spring.jpa.show-sql=true
hibernate.show_sql=true

spring.datasource.jdbc-url=jdbc:oracle:thin:xxx
spring.datasource.username=xxx
spring.datasource.password=xxx

hibernate.default_schema=MySchema

I would assume this has to be some sort of config issue but I haven't been able to figure it out.

Upvotes: 2

Views: 2524

Answers (1)

dassum
dassum

Reputation: 5093

you need to specify

spring.datasource.driver-class-name=oracle.jdbc.OracleDriver 

As per the exception, it is using H2 driver

Upvotes: 2

Related Questions