我有一个名为 Change 的实体,我需要在数据库中记录更改,例如插入、更新或删除行。
所以我的更改表包含一些数据,现在我想添加外键来记录另一个表中的更改,但我有不同的表。例如,我有 Weather 表、Group 表……所以我做了一些搜索,发现了一些关于 @Any 注释的信息。所以我在我的 Change 实体中添加了一些列:
@Entity
@Table(name = "CHANGE")
public class Change {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "CHANGE_ID")
private int changeId;
...
@Any(metaColumn = @Column(name = "RECORD_TABLE"))
@AnyMetaDef(idType = "int", metaType = "string",
metaValues = {
@MetaValue(targetEntity = Weather.class, value = "WEATHER"),
@MetaValue(targetEntity = Group.class, value = "GROUP"),
...
})
@JoinColumn(name="recordID")
private Object record;
@ManyToOne
@JoinColumn(name = "USER_ID")
private User user;
public Object getRecord() {
return record;
}
public void setRecord(Object record) {
this.record = record;
}
...
我的愚蠢问题是:如何将数据插入数据库(如外国 ID 和类名)以及如何检索它们?