我有一个名为 Change 的实体,我需要在其中记录数据库中的更改,例如插入、更新或删除行。
所以我的 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 和类名)以及如何检索它们?
最佳答案
请通过这个Link
你应该关心你的实体关系(1-1 or 1-M or M-M)
关于java - Hibernate @Any 注解用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19165333/