首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取Hibernate sequence nextVal (Oracle)异常

获取Hibernate sequence nextVal (Oracle)异常
EN

Stack Overflow用户
提问于 2018-05-28 18:59:09
回答 2查看 2.2K关注 0票数 2

我在我的应用程序中使用了spring boot和hibernate,下面是Model类中的配置。

代码语言:javascript
复制
@Id
@SequenceGenerator(name="SCHEMA1.INQUIRY_QUEUE_SEQ", sequenceName="SCHEMA1.INQUIRY_QUEUE_SEQ",allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SCHEMA1.INQUIRY_QUEUE_SEQ")
@Column(name="INQ_ID")
private Integer inquiryId;

以前,数据库映射是xml配置,如下所示。

代码语言:javascript
复制
    <hibernate-mapping>
     <class name="com.company.domain.model.AnalystInquiryForm" table="INQUIRY_QUEUE" schema="SCHEMA1">
        <id name="inquiryId" type="java.lang.Integer">
        <column name="INQ_ID"/>
           <generator class="sequence">
             <param name="sequence">SCHEMA1.INQUIRY_QUEUE_SEQ</param>
           </generator>
        </id>
        <property name="transactionDate" type="java.sql.Timestamp">
          <column name="INQ_ADD_DT" />
        </property>
    </class>

    </hibernate-mapping>

获取以下错误

代码语言:javascript
复制
16:08:36.873 [http-nio-8551-exec-2] DEBUG org.hibernate.SQL - select schema1.inquiry_queue_seq.nextval from dual
16:08:37.419 [http-nio-8551-exec-2] WARN  org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 942, SQLState: 42000
16:08:37.431 [http-nio-8551-exec-2] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ORA-00942: table or view does not exist


16:36:23.977 [http-nio-8551-exec-2] ERROR com.company.user.controller.UserController - Error in processAnalystInquiry : could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet

我的spring boot配置如下所示。

代码语言:javascript
复制
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version> 
    <relativePath />
</parent>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
        <groupId>ojdbc</groupId>
        <artifactId>ojdbc15</artifactId>
        <version>11.2.0.2.0</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
    </dependency>

中间层是

代码语言:javascript
复制
@Autowired
private AnalystInquiryFormRepository analystInquiryFormRepository;
public void addToInquiryQueue(AnalystInquiryForm form) {
     analystInquiryFormRepository.save(form);
}

我的存储库是..

代码语言:javascript
复制
import org.springframework.data.repository.CrudRepository;
import com.company.user.model.AnalystInquiryForm;
public interface AnalystInquiryFormRepository extends 
CrudRepository<AnalystInquiryForm, Integer>{

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-29 15:56:42

您正在使用

@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SCHEMA1.INQUIRY_QUEUE_SEQ")

这意味着DB应该有一个名为SCHEMA1.INQUIRY_QUEUE_SEQ的表。

如果该表已经存在,请确保您用来访问该表的用户具有所有适当的权限。

票数 2
EN

Stack Overflow用户

发布于 2018-05-28 19:13:42

表或视图不存在或查询有问题,请检查一次查询是否准确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50564844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档