我有这样的关系:
一个人有一个或多个地址。一位客户有一个或多个地址。
人员、客户和地址是单独的表。
我曾经用@OneToMany 关系来做到这一点。这给我带来了问题,因为我们的 flex 客户端正在向我发送对象,这些对象是在客户端中创建的,并且必须在数据库中创建。
如果客户端向我发送一个引用相同地址的人和客户,休眠将创建两个地址对象,因为这两个地址对象不是相同的 java 对象(不是相同的指针)。
这是一个由 BlazeDS 和 Dozer 引起的问题,它们在发送到服务器时会创建新对象。
所以我想要的是人员和客户对象中没有关系的地址 ID,因此休眠不会创建对象。但是当我读取一个人对象时,我想根据存储的地址 id 填充一个临时地址对象。
有谁知道这是否可能?