要添加的关系角色必须具有下列特征:
另外,要将向其添加键的企业 bean 必须是一个根 bean(不是从超类型中继承的)。这是因为继承的 bean 必须使用超类型的主键类,因此,不能修改键类的形状。
以下任务指的是两个企业 bean: 一个包含角色(这个 bean) ,一个体现在角色中(另一个 bean)。
此操作将另一个 bean 的键字段添加至键类和此 bean 的 bean 类。在将角色添加至主键时,还将重新生成关联。
从关联中除去 bean 时一定要小心。如果已将其中一个角色添加到其中一个 bean 的键中,则必须先除去键中具有该角色的 bean,然后再除去另一个 bean。数据库约束可能会强制执行此条件(即使角色不是键的一部分)。然而,如果不存在数据库约束,仍然会发生问题。例如,如果您在 1:1 关联中具有客户 bean 和地址 bean,而地址 bean 的客户角色具有外键,并且客户角色是地址 bean 的主键。如果在除去客户 bean 时没有先除去地址 bean,则在尝试将地址 bean 的客户角色外键设置为空时,关联维护代码还将尝试将地址 bean 的主键设置为空。