Java 值为零的Toplink外键
我正在对一个应用程序进行现代化改造,该应用程序使用带有Toplink的Oracle 11g数据库 外键值为零的整数有问题 这个应用程序有点复杂,所以我创建了一个简单的项目,其中有一个两表数据库,Toplink的配置方式与应用程序和一些JUnit测试相同,以驱动一些简单的请求进入数据库。一个表(参与方)引用了另一个表(地址)。一个地址可以被多方使用。它在Toplink工作台中映射为一对多 在我尝试创建或更新引用id为零的地址的参与方之前,一切都正常。这会引发Toplink异常 注意。创建id为零的地址没有问题,创建或更新地址大于零的参与方也没有问题 以下是我在create上看到的例外情况:Java 值为零的Toplink外键,java,junit,oracle11g,foreign-key-relationship,toplink,Java,Junit,Oracle11g,Foreign Key Relationship,Toplink,我正在对一个应用程序进行现代化改造,该应用程序使用带有Toplink的Oracle 11g数据库 外键值为零的整数有问题 这个应用程序有点复杂,所以我创建了一个简单的项目,其中有一个两表数据库,Toplink的配置方式与应用程序和一些JUnit测试相同,以驱动一些简单的请求进入数据库。一个表(参与方)引用了另一个表(地址)。一个地址可以被多方使用。它在Toplink工作台中映射为一对多 在我尝试创建或更新引用id为零的地址的参与方之前,一切都正常。这会引发Toplink异常 注意。创建id为零的
[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.您是否检查过您是否有id为0的地址?是的,当然可以。我有JUnit测试驱动所有案例。你可以肯定,我在这件事上反复考虑了很多次。:-)