如何解决如何在hibernate中使用oracle序列?
我正在尝试访问以下 sql 以生成下一个序列号。我收到 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 中有多个这样的序列生成器,我可以为所有这些生成器制作一个吗?
解决方法
您需要使用 createNativeQuery
方法来执行 SQL。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。