我正在尝试访问以下 sql 以生成下一个序列号。我收到由 dual 导致的 QuerySyntaxException 未映射。
sql = 从 DUAL 中选择 sequence_caseid.NEXTVAL
public Long generate(Session session)
throws DataRetrievalFailureException, SQLDataException {
Long result = null;
Query<?> query = (Query) session.createQuery(sql);
result = new Long(query.getFirstResult());
return result;
}
生成器的 bean 定义
<bean id="generatorVoucherId" class="com.sample.OracleSequenceGenerator">
<constructor-arg type="java.lang.String"><value>${logger.name}</value></constructor-arg>
<property name="generatorName"><value>sequence_caseid</value></property>
</bean>
我没有这个双重的 hbm.xml。我需要一个吗?如果是这样如何创建一个?我在 oracle 中有多个这样的序列生成器,我可以为所有这些生成器制作一个吗?