DBに2つのテーブルを埋め込むことができます。そこには、テーブルにマッピングがあります(1つのテーブルには他からFKがあります)。 EclipseLink DataSourceは、DBへのフラッシュが正常に完了したことを示しています。 persistent.xmlに というプロパティ句がある間に、同じデータを使ってテーブルを再作成しようとしています: 書き換え前に前のテーブルを削除(消去)していないので、JPA経由でDerby DBテーブル(FK付き)を書き直す
「内部例外: java.sql.SQLIntegrityConstraintViolationException:それはユニーク で重複したキー値または主キー制約を引き起こしてしまうため、ステートメントが 中止された重複キーに関する次の例外メッセージを拒否または で識別される一意のインデックス 'SQL120206135740510' def 「HOST」に入った「(HOSTテーブルがFKによって を指摘している)。
私はpersistence.xmlで行方不明ですか、他それが書き換え前に、テーブルのドロップを作るべきか? 以下(persistence.xmlファイルを参照してくださいDBファイルが「テスト」と呼ばれるスキーマは、ユーザー名(私の場合はAPP)の後に名前です):最高級の値またはALLで「eclipselink.logging.level」プロパティを追加すること
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="jpa_test">
<class>Host</class>
<class>Vm</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:derby://im6-64s:1527/test;create=true" />
<property name="javax.persistence.jdbc.user" value="APP" />
<property name="javax.persistence.jdbc.password" value="passw0rd" />
<!-- EclipseLink should create the database schema automatically -->
<property name="eclipselink.ddl-generation" value="drop-create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />
</properties>
</persistence-unit>
</persistence>