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 サーバーにデプロイされました。Oracleシーケンスを使用してIDを生成する際にEclipseLinkにバグがありますか?

4

1 に答える 1

0

Oracle に問題はありません。

問題を再現できますか? ロギングを有効にします。重複した ID が使用されていませんか?

データベースに SEQUENCE オブジェクトをどのように作成しましたか?

于 2013-04-22T14:46:20.863 に答える