我正在尝试在Oracle中创建一个序列,我正在使用默认情况下具有hibernate的Spring启动。我有完整的权力来创建和删除序列。
但每次我得到例外:java.sql.SQLSyntaxErrorException: ORA-02289: sequence does not exist
@GeneratedValue(generator="data_cat", strategy=GenerationType.SEQUENCE)
@SequenceGenerator(allocationSize=1, initialValue=100, name="data_cat", sequenceName="BLAH_SCH.DATA_CAT")
@Id
private long id;
以下是我的application.properties
spring.jpa.hibernate.ddl-auto=create
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.Oracle10gDialect
我相信它应该通过对数据库的任何调用来创建。请告诉我可能出现的问题。
然而,当我在oracle中运行sql commant时,我的序列被创建了。
CREATE SEQUENCE "BLAH_SCH"."DATA_CAT";
答案 0 :(得分:0)
我不知道这是否能解决您的问题,但是:
您是否可以尝试在Oracle序列中定义初始值,如CREATE SEQUENCE DATA_CAT START WITH 100 INCREMENT BY 1;
答案 1 :(得分:0)
问题是一个空间。是的,这个属性之后有一个空间
" spring.jpa.hibernate.ddl-auto = create"
一旦我检查了日志,我就知道这个属性没有被选中。删除此空间使其工作。