Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
序列不存在异常使用eclipseLink和oracle db_Oracle_Jpa_Sequence_Eclipselink - Fatal编程技术网

序列不存在异常使用eclipseLink和oracle db

序列不存在异常使用eclipseLink和oracle db,oracle,jpa,sequence,eclipselink,Oracle,Jpa,Sequence,Eclipselink,我有以下JPA实体: @Entity @Table(schema = "myschema") @SequenceGenerator(schema = "myschema", name = "seqGenerator", sequenceName = "person_s1", allocationSize = 1) public class Person { @Id @GeneratedValue(generator = "seqGenerator",

我有以下JPA实体:

@Entity
@Table(schema = "myschema")
@SequenceGenerator(schema = "myschema", name = "seqGenerator", 
                   sequenceName  = "person_s1", allocationSize = 1)
public class Person {

@Id
@GeneratedValue(generator = "seqGenerator", strategy = GenerationType.AUTO)
private long id;
将引发以下异常:

Call: DROP SEQUENCE myschema.person_s1
Query: DataModifyQuery(sql="DROP SEQUENCE myschema.person_s1")
[EL Warning]: 2010-11-01 17:21:51.051--ServerSession(10605044)--Exception [EclipseLink-    4002] (Eclipse Persistence Services - 2.1.1.v20100817-r8050): 
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-02289: sequence does not exist

Error Code: 2289
Call: SELECT myschema.person_s1.NEXTVAL FROM DUAL
Query: ValueReadQuery(sql="SELECT myschema.person_s1.NEXTVAL FROM DUAL")
序列由EclipseLink和查询生成:

SELECT myschema.person_s1.NEXTVAL FROM DUAL
直接使用时效果很好

谢谢你的帮助


向马塞尔问好

我知道这听起来很傻,但不管怎么说,它就在这里

@Entity
@Table(schema = "myschema")
public class Person {

   @Id
   @SequenceGenerator(schema = "myschema", name = "seqGenerator", sequenceName  = "person_s1", allocationSize = 1)
   @GeneratedValue(generator = "seqGenerator", strategy = GenerationType.AUTO)
   private Long id;
}
将引发以下异常(…)

这些跟踪是在模式创建期间生成的,此时特定的数据库对象不存在,因此无法删除。EclipseLink报告诸如
警告
(不是
错误
)之类的情况,它们可以被忽略(你得到了你的序列,对吧?)


PS:为什么要使用1的分配大小,难道不想从高/低优化中获益吗?

Merci Beaucup Pascal。什么是高/低优化?你能给我写封信吗?MarcelFWIW我已经在EclipseLink中将它作为一个bug记录了下来:。称之为bug的动机在bug报告中。