2

我有一个名为 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 和类名)以及如何检索它们?

4

1 回答 1

0

请通过此链接

您应该关心您的实体关系(1-1 或 1-M 或 MM)

于 2013-10-04T06:44:19.920 回答