重寫Derby DB表(使用FK)我可以填充表中具有映射的數據庫中的2個表(其中一個表具有來自他的FK)。 EclipseLink DataSource顯示對數據庫的刷新已完成。 我試圖重寫表(第二次具有相同的數據),而persistence.xml具有 屬性子句,如下所示: <property name="eclipselink.ddl-generation" value="drop-create-tables" />
但我看到在重寫之前沒有刪除(擦除)前面的表,因此得到有關重複鍵下面的異常消息拒絕:通過JPA
「內部異常: java.sql.SQLIntegrityConstraintViolationException:語句是 放棄,因爲它會造成一個獨特的 或主鍵約束重複鍵值或由 'SQL120206135740510'def標識的唯一索引在'主機'上登入。 「(HOST是表指出 由FK)。
什麼我在persistence.xml失蹤否則,應該使改寫前的桌子降? 下面看到persistence.xml文件( 。數據庫文件名爲「測試」的模式是名稱的用戶名(APP在我的情況))後:
<?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>