我有以下 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
直接使用时工作正常...
感谢任何帮助
问候马塞尔
最佳答案
the following exceptions are thrown (...)
这些跟踪是在模式创建期间生成的,当时特定的数据库对象不存在,因此无法删除。 EclipseLink 报告诸如Warning
(不是Error
)这样的情况,它们可以被忽略(你得到你的序列,对吧?)。
PS:你为什么使用 1 的分配大小,你不想从高/低优化中受益吗?
关于oracle - 使用 eclipseLink 和 oracle db 时序列不存在异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4070951/