最初のエンティティ (customer1) にデータを作成すると、データは正常に作成されましたが、2 番目のエンティティにデータを作成しようとすると、次のエラーが発生します。この2つのエンティティを2つの異なるパッケージで異なるテーブル注釈名で生成しているため、なぜこのエラーが発生するのかわかりません。また、エンティティごとに異なる永続ユニット名を作成します...このエラーの理由は何ですか?
エラーはコミットにあります
entityManager.getTransaction().commit();
entityManager.close();
例外 [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException 内部例外: java.sql.SQLIntegrityConstraintViolationException: 重複キーが発生する可能性があるため、ステートメントは中止されました'customer02' で定義された 'SQL130407132754180' で識別される一意または主キー制約または一意のインデックスの値。エラー コード: 20000 呼び出し: INSERT INTO customer02(CUSTOMER, NOTE, BUYERID) VALUES (?, ?, ?) bind => [3 つのパラメーター バインド] クエリ: InsertObjectQuery(prod2.customer02@7fe4bdcc)
パッケージ内のエンティティ 1 顧客 ... customer01
package prod1;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="customer01")
public class Customer
{
@Id
@Column(name="customer_number")
private String customer;
private String Note;
private String BuyerId;
エンティティ 2 パッケージ内の顧客 ... customer02
package prod2;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="customer02")
public class Customer
{
@Id
@Column(name="customer_number")
private String customer;
private String Note;
private String BuyerId;
永続化ユニットは
-<persistence-unit name="prod1">
<class>prod1.customer01</class>-
<properties><property name="eclipselink.ddl-generation"
value="drop-and-create-tables"/>
<property name="eclipselink.logging.level" value="SEVERE"/>
</properties></persistence-unit>-
-<persistence-unit name="prod2">
<class>prod2.customer02</class>-
<properties><property name="eclipselink.ddl-generation"
value="drop-and-create-tables"/>
<property name="eclipselink.logging.level" value="SEVERE"/>
</properties></persistence-unit>-