【发布时间】:2020-10-28 22:24:47
【问题描述】:
我正在实施办公室搬迁解决方案。主要任务之一是显示资产/家具应该移动到哪里。我有一个这样的实体(短版):
@Entity
@Table
class Asset extends BaseEntity{
private String name;
@Embedded
private Localization localization;
本地化包含Floor(floor_id, floor_name), x_axis, y_axis;
如何在数据库中保持当前和下一个(目标)本地化?我尝试了一些方法,但没有奏效。喜欢这里:
@Entity
@Table
class Asset extends BaseEntity{
private String name;
@AttributeOverrides({
@AttributeOverride(name="floor.id", column=@Column(name="current_floor_id")),
})
@Embedded
private Localization localization;
@AttributeOverrides({
@AttributeOverride(name="floor.id", column=@Column(name="destination_floor_id")),
})
@Embedded
private Localization destinationLocalization;
但它对我大吼大叫 floor_id 不是唯一的,应该 insert=false 和 updatable=false。
我尝试过的另一种方法是@OneToOne 与新实体 Column 的关系,甚至加入没有关系的查询。
我听说过 Hibernate Envers,也许这就是解决方案?
【问题讨论】: