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