1

我使用这样的 oracle 序列构建了一个带有 id 的实体。

@Entity
@Table(name="C_ESTIMATE")
public class Estimate implements Serializable{

     private static final long serialVersionUID = 1L;
     public Estimate(){}

     @Id
     @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "estimatenoGen")
     @SequenceGenerator(name="estimatenoGen",sequenceName="AUTOSERIALNO",allocationSize=1)
     @Column(name="ESTIMATENO")
     private long id;
  }

当我打电话时em.persist(new Estimate())

EclipseLink 提示Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraints

有时它工作正常,有时失败,这太奇怪了。该实体部署了多个 weblogic 服务器。EclipseLink 在使用 oracle 序列生成 id 上有错误吗?

4

1 回答 1

0

Oracle 上应该没有任何问题。

可以重现问题吗?启用日志记录,是否使用了重复的 ID?

您是如何在数据库上创建 SEQUENCE 对象的?

于 2013-04-22T14:46:20.863 回答