Hi,

I would try with an embedded database, and an absolute path for the
database file name.

Sure, it's possible to use an in-memory database, but I guess for some
reason (shutdown for example), the database is not there when you think it
is.

Regards,
Thomas

On Tuesday, July 28, 2015, Abid Hossain khan <[email protected]> wrote:

> I am using H2 for unit testing  in Spring boot  along with flyway
> application and getting bellow error.
>
> Caused by: org.hibernate.exception.SQLGrammarException: could not prepare
> statement
> at
> org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:123)
> at
> org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
> at
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
> at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:196)
> at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:160)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1885)
> at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
> at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1839)
> at org.hibernate.loader.Loader.doQuery(Loader.java:910)
> at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:355)
> at org.hibernate.loader.Loader.doList(Loader.java:2554)
> at org.hibernate.loader.Loader.doList(Loader.java:2540)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370)
> at org.hibernate.loader.Loader.list(Loader.java:2365)
> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:497)
> at
> org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
> at
> org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:236)
> at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1300)
> at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
> at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573)
> at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:495)
> at
> org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getSingleResult(CriteriaQueryTypeQueryAdapter.java:71)
> at
> org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:202)
> at
> org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:74)
> at
> org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:97)
> at
> org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:88)
> at
> org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:395)
> at
> org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:373)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at
> org.springframework.data.repository.core.support.RepositoryFactorySupport$DefaultMethodInvokingMethodInterceptor.invoke(RepositoryFactorySupport.java:486)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at
> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
> at
> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
> at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at
> org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
> ... 80 more
> Caused by: org.h2.jdbc.JdbcSQLException: Table "user" not found; SQL
> statement:
> select user0_.id as id1_6_, user0_.created_by as created16_6_,
> user0_.created_date as created_2_6_, user0_.last_modified_by as
> last_mo17_6_, user0_.last_modified_date as last_mod3_6_, user0_.status as
> status4_6_, user0_.version as version5_6_, user0_.avatar_name as
> avatar_n6_6_, user0_.avatar_url as avatar_u7_6_, user0_.dob as dob8_6_,
> user0_.email as email9_6_, user0_.failed_login_attempt as failed_10_6_,
> user0_.first_name as first_n11_6_, user0_.gender as gender12_6_,
> user0_.last_name as last_na13_6_, user0_.last_password_update_date as
> last_pa14_6_, user0_.password as passwor15_6_ from cm_user user0_ where
> user0_.email=? [42102-187]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
> at org.h2.message.DbException.get(DbException.java:179)
> at org.h2.message.DbException.get(DbException.java:155)
> at org.h2.command.Parser.readTableOrView(Parser.java:5261)
> at org.h2.command.Parser.readTableFilter(Parser.java:1235)
> at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1874)
> at org.h2.command.Parser.parseSelectSimple(Parser.java:1983)
> at org.h2.command.Parser.parseSelectSub(Parser.java:1868)
> at org.h2.command.Parser.parseSelectUnion(Parser.java:1689)
> at org.h2.command.Parser.parseSelect(Parser.java:1677)
> at org.h2.command.Parser.parsePrepared(Parser.java:433)
> at org.h2.command.Parser.parse(Parser.java:305)
> at org.h2.command.Parser.parse(Parser.java:277)
> at org.h2.command.Parser.prepareCommand(Parser.java:242)
> at org.h2.engine.Session.prepareLocal(Session.java:461)
> at org.h2.engine.Session.prepareCommand(Session.java:403)
> at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1189)
> at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:72)
> at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:277)
> at
> org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
> at
> org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
> at
> org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81)
> at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:162)
> at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186)
> ... 112 more
>
> My datasource configuration is as below
>
> spring.datasource.url 
> =jdbc:h2:mem:test;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE;DATABASE_TO_UPPER=false;INIT=create
>  schema if not exists test;
> spring.datasource.username = sa
> spring.datasource.password =
> spring.datasource.driverClassName = org.h2.Driver
>
> # Specify the DBMS
> spring.jpa.database =
>
> # Show or not log for each sql query
> spring.jpa.show-sql = false
>
> # Hibernate settings are prefixed with spring.jpa.hibernate.*
> spring.jpa.hibernate.ddl-auto = validate
> spring.jpa.hibernate.dialect = org.hibernate.dialect.H2Dialect
>
>
> flyway.locations=classpath:db/migration
> flyway.schemas=test
>
>
>
>
>
>
> Any help?
>
> --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <javascript:_e(%7B%7D,'cvml','h2-database%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to