繁体   English   中英

Microsoft SQL 服务器 - 启动序列 spring

[英]Microsoft SQL Server - sequence spring boot

我在 SQL 中创建了一个序列,它在 SQL 服务器中执行查询时工作正常。

SELECT [ORDERS].SEQ_NAME 的下一个值

结果将是例如 1000

我需要在我的 spring 引导服务中获取此序列,但没有实体,因此我尝试了以下操作:

@PersistenceContext
EntityManager em;

public int getNumber(){
        return em.createNativeQuery("SELECT NEXT VALUE FOR [ORDERS].SEQ_NAME").getFirstResult();
    }

我也尝试添加@Transactional,我尝试了各种方法,如 getSingleResult.toString()、getResultList.get(0).toString() 等,但没有任何运气。

我总是会得到 org.hibernate.exception.SQLGrammarException: could not extract ResultSet

我已经从普通表中为 select 尝试了这种方法并且它工作正常,问题仅在我从序列中询问时出现。

预先感谢您的回答!

解决了。

从 application.properties 更改了方言:是 SQLServerDialect 并更改为 SQLServer2012Dialect

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM