插入到两个单独的表中,这些表通过主键-外键链接

时间:2019-08-19 18:58:35

标签: oracle-adf

说我有2个表,Employee和Address分别具有主键EmployeeID和AddressID。 这两个表都通过“地址ID”字段进行链接,并具有一对一的关系。

当我想添加新员工时,现在在UI中,我想要一个表单,用户可以在其中输入员工和地址的详细信息。

两个表都在EO和VO层中将主键设置为dbsequence。在数据库层中实现了一个序列和触发器。 应该首先插入地址,并且生成的addressID应该反映在employee表上插入的行上。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

尝试避免在数据库级别设置值,因为它会导致以下错误

  

另一个用户使用主键更改了行...

尝试使用以下表达式在实体级别(地址实体对象)上初始化AddressId列值

(new oracle.jbo.server.SequenceImpl("ADDRESS_ID_SEQ_NAME",adf.object.getDBTransaction())).getSequenceNumber() 

然后您可以创建一个ViewLink,该ViewLink在Address和Employee之间具有1对1的关系,因此AddressId将与Address和Employee的默认值相同