我正在处理一些数据同步问题,因此我在数据库中将实体作为JSON发送给Web服务,以便可以将其保存,但需要使用现有ID进行保存。我使用Persistable.isNew()重写来确保Hibernate知道保存数据而不是尝试更新数据。根据我阅读的所有文档,这应该可以工作。并且当使用自然键时,它确实起作用。但是,当使用生成的ID策略时,它会引发Detached Entity
异常。
一个简单的问题是,应该可以工作吗?如果是这样,我想念什么?
@Entity
class ColorDef implements Persistable {
@Id
@GeneratedValue
private Long id;
@Override
public boolean isNew() {
// for the sake of the example, return true
return true;
}
}