说我有2个表,Employee和Address分别具有主键EmployeeID和AddressID。 这两个表都通过“地址ID”字段进行链接,并具有一对一的关系。
当我想添加新员工时,现在在UI中,我想要一个表单,用户可以在其中输入员工和地址的详细信息。
两个表都在EO和VO层中将主键设置为dbsequence。在数据库层中实现了一个序列和触发器。 应该首先插入地址,并且生成的addressID应该反映在employee表上插入的行上。
我该怎么做?
答案 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的默认值相同