追踪安德烈的JIRA问题,我了解到:
触发关联管理,在某些时候必须有一个 更改* ToMany字段,即使它具有相同的集合。 不跟踪集合本身的更改。
所以,而不是:
customer.getInventories().add( customerInventory );
这需要调用setter:
Collection<CustumerInventory> inventories = customer.getInventories(); inventories.add( customerInventory ); custumer.setInventories( inventories );
在单元测试中,可能会发生类未被增强的情况,尤其是当您通过IDE运行它们时。
确保增强的类包含在您执行测试的项目中导入的其他模块中。
或者,您可以运行增强过程,验证类是否已增强,然后才运行单元测试。
总而言之,我猜你可能正在运行实体类的非增强版本。
无论如何,我不认为这个功能是真的有必要。 同步关联的两端是要走的路 ,它只需要您提供addChild和removeChild方法。