Toplink外键,值为零

时间:2014-01-22 11:01:14

标签: java junit oracle11g foreign-key-relationship toplink

我正在使用带有Toplink的Oracle 11g数据库进行现代化。

我的外键有零值的问题。

应用程序有点复杂,所以我创建了一个带有两个表DB的简单项目,Toplink以与app相同的方式配置,一些JUnit测试将一些简单请求驱动到DB。一个表(Party)具有对另一个表(Address)的引用。许多缔约方可以使用地址。它在Toplink Workbench中被映射为一对多

一切正常,直到我尝试创建或更新引用ID为零的地址的Party。抛出Toplink异常。

NB。创建ID为零的地址没问题,创建或更新地址大于零的Party也没问题。

以下是我在创建中看到的例外:

    [TopLink Warning]: 2014.01.22 11:51:26.333--UnitOfWork(76409034)--        Thread(Thread[main,5,main])--Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.6.0) (Build 111018)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-00001: unique constraint (PARTIES.ADR_PK) violated

    Error Code: 1
    Call: INSERT INTO PTY_ADDRESS (ADR_ID, ADR_STREET, ADR_COUNTRY, ADR_NAME, ADR_CITY) VALUES (?, ?, ?, ?, ?)
        bind => [0, street, country, venue, city]
    Query: InsertObjectQuery(ch.hp.parties.Address@2e931d05)

有什么想法吗?

John D.

0 个答案:

没有答案