繁体   English   中英

JPA(休眠):“ ORA-02289序列不存在”,但确实存在

[英]JPA (Hibernate): “ORA-02289 Sequence does not exist”, but it does

我正在与JPA实体合作。

我创建了一个新的像这样的:

@Entity
public class Entity {
    @Id
    @GeneratedValue(generator = "Entity_Sequence", strategy = GenerationType.SEQUENCE)
    @SequenceGenerator(name = "Entity_Sequence", sequenceName = "Entity_Seq")
    private Long id;

    // ... other fields
}

我用来创建数据库对象的生成的SQL:

CREATE SEQUENCE ENTITY_SEQ START WITH 1 INCREMENT BY 50;

CREATE TABLE ENTITY (
  ID     NUMBER(19, 0) NOT NULL,
  -- ... other fields
  PRIMARY KEY (ID)
);

现在,我可以从SQL Developer和IntelliJ查询该序列的nextval。 但是,当我尝试从代码中持久化实体时,Hibernate抛出以下异常:

15:21:11,022 INFO  [stdout] (EJB default - 2) Hibernate: select ENTITY_SEQ.nextval from dual
15:21:11,037 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EJB default - 2) SQL Error: 2289, SQLState: 42000
15:21:11,037 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EJB default - 2) ORA-02289: Sequence ist nicht vorhanden.

(“ Sequence ist nicht vorhanden”翻译为“ Sequence is不存在”。)

为什么我不在时Hibernate无法找到序列?

编辑1(12-01)
我尝试了Olivier的建议答案 ,但错误仍然相同。

编辑2(12-01)
由于Olivier删除了答案,他建议我将@SequenceGenerator注释移至该类。

我发现了错误:这是我的本地设置,所以告诉您没有什么用,只需检查您的设置即可。

我在服务器未实际使用的文件中“配置”服务器,因此没有效果。

可能有很多错误。 是否有关于项目配置的更多信息?

格蕾兹·丹尼斯(Greetz Dennis)

暂无
暂无

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

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