Я использую JPA с Hibernate/Oracle и для тестовой фазы с использованием HSQL. Я определил источник данных, указанный в этом SO question, но не помог.«InvalidDataAccessResourceUsageException» при использовании последовательности с HSQL
Примечание: Я запускаю скрипт Liquibase для создания схемы.
@Id
@SequenceGenerator(name="DM_UW_REF_RULES_RSLT_UWSCOREID_GENERATOR", sequenceName="SEQ_UW_SCORE_ID")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="DM_UW_REF_RULES_RSLT_UWSCOREID_GENERATOR")
@Column(name="UW_SCORE_ID")
The HSQL DataSource и EntityManagerFactory боб определений являются
dmDs(BasicDataSource) {
driverClassName = 'org.hsqldb.jdbc.JDBCDriver'
url = 'jdbc:hsqldb:mem:testdb;sql.syntax_ora=true'
username = 'sa'
password = ''
}
entityManagerFactory(LocalContainerEntityManagerFactoryBean) {
dataSource = ref('dmDs')
packagesToScan = "com.abc.dm.model"
jpaVendorAdapter = ref('hibjpa')
jpaPropertyMap = ["connection.driver_class": "org.hsqldb.jdbc.JDBCDriver", 'hibernate.dialect':'org.hibernate.dialect.HSQLDialect','show_sql': "true"]
}
Exception трассировку:
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: SEQ_UW_SCORE_ID.NEXTVAL
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source)
at org.hsqldb.QueryExpression.resolve(Unknown Source)
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
at org.hsqldb.Session.compileStatement(Unknown Source)
at org.hsqldb.StatementManager.compile(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
Забыл упомянуть, что я использую Liquibase для запуска DDL, включая Sequence. – patb23