2
我有一個hsqldb測試的小問題。HSQLDB ORACLE用戶缺少權限或對象未找到:REGEXP_LIKE
我使用oracle 11g作爲我的項目的數據源和hsqldb-2.3.2.jar進行測試。
在一個查詢中,我已經使用這個正則表達式AND REGEXP_LIKE(CODE_SC, '*PL[0-9]_J5[1-9]$')
,我不能用HSQLDB測試它,我已經配置我的數據源是這樣的:
<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:mem:castor;sql.syntax_ora=true" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
,並與SessionFactory的
<prop key="hibernate.dialect">fr.edf.mpv2.castor.persistance.HsqlOracleDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
<prop key="hibernate.hbm2ddl.import_files">import.sql</prop>
我添加了我需要的所有import.sql,它工作正常。
我已創建了一類:
public class HsqlOracleDialect extends Oracle10gDialect {
public HsqlOracleDialect() {
super();
}
@Override
protected void registerFunctions() {
registerFunction("regexp_like", new SQLFunctionTemplate(Hibernate.BOOLEAN,
"case when (regexp_like(?1,?2)) then 1 else 0 end)"));
}
}
,但我得到這個錯誤:
user lacks privilege or object not found: REGEXP_LIKE
不我已經忘了申報的東西嗎?
非常感謝。