2015-03-11 2 views
0

Я использую 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) 

ответ

0

Похоже, вы упускаете свойство hibernate.hbm2ddl.auto для генерации таблицы ,

В качестве альтернативы вы можете использовать общее свойство javax.persistence.schema-generation.database.action.

+0

Забыл упомянуть, что я использую Liquibase для запуска DDL, включая Sequence. – patb23

Смежные вопросы